Question: I have a mid-level function that is called and calls other functions. Inside the function a dynamic arrary is "Dim myarrary() As Variant" is loaded from called function. The arrary "myarrary" is loaded with the proper data. When I attempt to assign the arrary to range 

```
Dim datarng as Range

datarng = WorkSheets("DATA").Range("A1:H3700").Value   

```

The debugger executes the statement and immediately returns to the top level routine that initiated the process. I'm thinking I crashed the stack somehow but I've place strings around myarray and they are intact. if I comment out the assignment statement the routine executes the remaining code in the function.

Answer: 
My guess is that you have an error handler in the top-level routine but not in the lower-level functions. In that type of situation, when the code hits a run-time error it steps immediately to the routine that had an error handler.

Also, Dim myarrary() As Variant creates an array of variants, which I don't think is what you want. It looks like you just want a variant, like:

```
Dim myarrary As Variant

```

You can then assign a range to it, e.g.:

```
myarrary = WorkSheets("DATA").Range("A1:H3700").Value

```
You are missing the `Set` in front of `datarng = WorkSheets("DATA").Range("A1:H3700").Value`

should be `Set datarng = WorkSheets("DATA").Range("A1:H3700")`