Getting values from a variable sized range into an array
Not sure I used this right, but here is what I coded from what I understood
you to say:
Dim Rng As Range
Set Rng = Worksheets(2).Range("A5").CurrentRegion
ReplaceArray = Rng
However, that filled the array with everything from the worksheet, including
rows 1 thru 4, which are not part of the array data.
Cells A1 thru A4 are intructions about the information below. The actual
array data is in the range A5:C6. But apparently the code I used above set
the Rng to A1:C6.
What did I do wrong?
I am really new at this and have only been at it for a couple of days.
Ken Loomis
"Norman Jones" wrote in message
...
Hi Ken,
Longer, but safer, in that it relies only on the C column being empty
below your range, is the following:
Dim Rng1 As Range, Rng2 As Range
Dim MyRng As Range
With Worksheets(2)
Set Rng1 = .Range("A5") '<<=== Given Start cell
Set Rng2 = .Cells(Rows.Count, "C").End(xlUp)
End With
Set MyRng = Range(Rng1, Rng2)
---
Regards,
Norman
"Ken Loomis" wrote in message
...
I need to get the values from a range of cells into an array. The range
will always start in the same cell on the sheet where it resides and it
will always be 3 cells wide. But it can grow in length.
Right now I get the values into the array with this statement:
Dim ReplaceArray As Variant
ReplaceArray = Worksheets(2).Range("a5:c6")
and that works fine as long as the range of cells containing the data is
static. Right now that works ok since I can manually change things as
needed, but I'd like to automate this and give the users the ability to
add to that list.
If I need to, I can increment a cell value on worksheet 2 that would be
the number of rows in the range, but I don't even know how to refer to
the range that way. and, there must be a better, more dynamic (and
elegant) way to do this. There is nothing on worksheet 2 below or to the
right of the last cell in the range, i.e. "C6" in the example above.
Thanks for any help on this.
Ken Loomis
|