ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Set new range based on rng.Offset(rng.Rows.Count, 0).Resize(1, 1) (https://www.excelbanter.com/excel-programming/380709-set-new-range-based-rng-offset-rng-rows-count-0-resize-1-1-a.html)

Keith

Set new range based on rng.Offset(rng.Rows.Count, 0).Resize(1, 1)
 
I have a named range in a worksheet (auto-expanding named range based on
Stephen Bullen's funchart)

I use VBA application.Match to identify if new values are part of that
range. If so, I modify row contents, and if not, I need to add the new value
to the end of the range (and then modify row contents in that new row)

I found the code:
= rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Value
in a google search of posts, but have been unsuccessful in adapting it to my
needs. What I'd like to do, rather than pulling the value, is set a brand
new range ("TempRange") to this single cell so I can use it in several parts
of my code- to get the row number, to paste a new value, and to do some
calculations.

I've tried syntax like:

Set TempRow = rng.Offset(rng.Rows.Count, 0).Resize(1, 1)
or
=rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Range

As a workaround I even tried to get the relevant properties directly
TempRow = rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Row

but no luck.

Can anyone tell me the proper way to refer to this single celled range, or
at least pull cell (range) properties from it?

Many thanks,
Keith



Keith

Set new range based on rng.Offset(rng.Rows.Count, 0).Resize(1, 1)
 
I think I found my problem- I had replaced the auto-expanding named range
with a fixed range, which happened to be 64000 rows- so Excel can't offset
the range by that number of rows. I'll play some more and post again in this
thread if I can't get it working.
Thanks,
Keith

"Keith" wrote in message
...
I have a named range in a worksheet (auto-expanding named range based on
Stephen Bullen's funchart)

I use VBA application.Match to identify if new values are part of that
range. If so, I modify row contents, and if not, I need to add the new
value to the end of the range (and then modify row contents in that new
row)

I found the code:
= rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Value
in a google search of posts, but have been unsuccessful in adapting it to
my needs. What I'd like to do, rather than pulling the value, is set a
brand new range ("TempRange") to this single cell so I can use it in
several parts of my code- to get the row number, to paste a new value, and
to do some calculations.

I've tried syntax like:

Set TempRow = rng.Offset(rng.Rows.Count, 0).Resize(1, 1)
or
=rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Range

As a workaround I even tried to get the relevant properties directly
TempRow = rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Row

but no luck.

Can anyone tell me the proper way to refer to this single celled range, or
at least pull cell (range) properties from it?

Many thanks,
Keith




JMB

Set new range based on rng.Offset(rng.Rows.Count, 0).Resize(1,
 
Maybe something like

Sub test()
Set rng = Range("A1:B45000")
MsgBox rng.Rows(1).Offset(rng.Rows.Count, 0).Address
End Sub

Or
Sub test()
Set rng = Range("A1:B45000")
MsgBox rng.Cells(1, 1).Offset(rng.Rows.Count, 0).Address
End Sub



"Keith" wrote:

I think I found my problem- I had replaced the auto-expanding named range
with a fixed range, which happened to be 64000 rows- so Excel can't offset
the range by that number of rows. I'll play some more and post again in this
thread if I can't get it working.
Thanks,
Keith

"Keith" wrote in message
...
I have a named range in a worksheet (auto-expanding named range based on
Stephen Bullen's funchart)

I use VBA application.Match to identify if new values are part of that
range. If so, I modify row contents, and if not, I need to add the new
value to the end of the range (and then modify row contents in that new
row)

I found the code:
= rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Value
in a google search of posts, but have been unsuccessful in adapting it to
my needs. What I'd like to do, rather than pulling the value, is set a
brand new range ("TempRange") to this single cell so I can use it in
several parts of my code- to get the row number, to paste a new value, and
to do some calculations.

I've tried syntax like:

Set TempRow = rng.Offset(rng.Rows.Count, 0).Resize(1, 1)
or
=rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Range

As a workaround I even tried to get the relevant properties directly
TempRow = rng.Offset(rng.Rows.Count, 0).Resize(1, 1).Row

but no luck.

Can anyone tell me the proper way to refer to this single celled range, or
at least pull cell (range) properties from it?

Many thanks,
Keith






All times are GMT +1. The time now is 11:10 PM.

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