ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Return Range in VB (https://www.excelbanter.com/excel-programming/285138-return-range-vbulletin.html)

ray

Return Range in VB
 
This is going to be a noobie type question, but I really need some help. I
want to be able to determine the range of cells that are populated with
values(ie A4:E20) using VB. I will then take this range, copy it and paste
it transposed to another sheet. I have the second part done, just can't
quite get the part about returning the range on a sheet dynamically based
on the cells with values. The sheet will be updated regularly and I don't
want to have to change the code for the populated range each time.

I hope this makes sense.

Thanks
Ray

Tom Ogilvy

Return Range in VB
 
Unless the populated cells are a contiguous rectangle, you won't be able to
paste transposed

set rng = Range("A4:E20").SpecialCells(xlConstants)

--
Regards,
Tom Ogilvy

"ray" wrote in message
.. .
This is going to be a noobie type question, but I really need some help. I
want to be able to determine the range of cells that are populated with
values(ie A4:E20) using VB. I will then take this range, copy it and paste
it transposed to another sheet. I have the second part done, just can't
quite get the part about returning the range on a sheet dynamically based
on the cells with values. The sheet will be updated regularly and I don't
want to have to change the code for the populated range each time.

I hope this makes sense.

Thanks
Ray




ray

Return Range in VB
 
"Tom Ogilvy" wrote in
:

Unless the populated cells are a contiguous rectangle, you won't be
able to paste transposed

set rng = Range("A4:E20").SpecialCells(xlConstants)


They are a contiguos rectangle. The range will only grow in number of rows,
not columns. Just need to be able to have a routine that always starts in a
cell and then determines the end of range based on occupied cells.

Date Data1 Data2 Data3
1103 1 2 3
2103 4 5 6

Assuming the data(minus headings) starts in A2, then the range of this
would be A2:D3. I need a routine to automagically determine that.

Ray

Tom Ogilvy

Return Range in VB
 
If it is always going to be A to D and start in Row 2, why cite A4 to E20 in
your original post?

Nonetheless,

set rng = Range(Range("A2"),Range(A21).End(xlup)).Resize(,4)

--
Regards,
Tom Ogilvy

"ray" wrote in message
...
"Tom Ogilvy" wrote in
:

Unless the populated cells are a contiguous rectangle, you won't be
able to paste transposed

set rng = Range("A4:E20").SpecialCells(xlConstants)


They are a contiguos rectangle. The range will only grow in number of

rows,
not columns. Just need to be able to have a routine that always starts in

a
cell and then determines the end of range based on occupied cells.

Date Data1 Data2 Data3
1103 1 2 3
2103 4 5 6

Assuming the data(minus headings) starts in A2, then the range of this
would be A2:D3. I need a routine to automagically determine that.

Ray




ray

Return Range in VB
 
"Tom Ogilvy" wrote in
:

If it is always going to be A to D and start in Row 2, why cite A4 to
E20 in your original post?

Nonetheless,

set rng = Range(Range("A2"),Range(A21).End(xlup)).Resize(,4)


Because I lost track of my example. Should have been A to E as indicated in
original post. Thanks



All times are GMT +1. The time now is 03:09 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com