Sandy,
This type of offsetting doesn't use a 0-based index as does the Offset
property. Instead, it actually calls the default method of the Range
object, named _Default, which uses a 1-based index. Code like
Debug.Print Range("A1")(2,2).Address
is really shorthand code for the more explicit
Debug.Print Range("A1").[_Default](2, 2).Address
_Default is a hidden member of the Range object, so you won't see it in
the Object Browse unless you enable "Show Hidden Members". Once you do
this, you'll see that it is indeed defined as the default method of a
Range.
Since [_Default] is 1-based, and Offset is 0-based, the following
statement are functionally equivalent:
Debug.Print Range("A1").[_Default](2, 2).Address
Debug.Print Range("A1")(2, 2).Address
Debug.Print Range("A1").Offset(1, 1).Address
Whether to use the default method or to use Offset is a matter of personal
preference and style. My only recommendation is that you choose one and
stick with it. Don't mix references using _Default with references using
Offset. They won't conflict with one another -- they play together just
fine -- but mixed reference styles may be confusing and might make
debugging/maintaining code more difficult.
Alan Beban gave me religion on _Default about 10 years ago, and it is just
my personal preference for coding style. It is probably a few nanoseconds
faster than Offset, but in practical terms there is no real difference.
Pick a style you like and stick with it.
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
(email address is on the web site)
Sandy Mann said:
Hi Chip,
May I ask what type of *offset* you are using in your code - or point me
to somewhere that I can look it up for myself.
What I mean is that your:
Set StartRng = StartRng(2, 1)
looks like it equivelant to:
Set StartRng = StartRng.Offset(rowoffset:=1, columnoffset:=0)
or Set StartRng = StartRng.Offset(1, 0)
What really surprises me is that
Set StartRng = StartRng(0, 0)
seems to be the StartRng minus one row and minus one column which is
definitely non-intuitive, (at least not the way that my mind works)
--
Regards,
Sandy
In Perth, the ancient capital of Scotland
and the crowning place of kings
[email protected]
[email protected] with @tiscali.co.uk