View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default Range missing its target area weirdly

They are different because the second approach results in an
offset equal to rSel from rSel. So if rSel is C3,
rSel(rSel.Cells(1,1))

is

rSel.Range("C3").Cells(1,1)
or E5.

The "C3" is not the absolute reference to cell C3, it is
*relative* to rSel.

--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com




"Konrad Viltersten" wrote in message
...
I have tried two different approaches to do the same
thing, i.e. flipping the bold format.

Approach #1
Set rSel = Selection
rSel.Cells(1, 1).Font.Bold = Not rSel.Cells(1, 1).Font.Bold

Approach #2
Set rSel = Selection
rSel.Range(rSel.Cells(1, 1), rSel.Cells(1, 1)).Font.Bold = _
Not rSel.Range(rSel.Cells(1, 1), rSel.Cells(1, 1)).Font.Bold

Now, i'd say they are equivalent. However, what happens
makes me a little bit confused. When my selection starts
from A1, both approaches work in exactly the same way.
As soon as i start my selection from, say, B2, i get the
following difference.
Approach #1
The top, leftmost element of the selection (here it's B2)
gets changed, as expected to.
Approach #2
The _second_ top, leftmost element of the selection (here
it's C3) gets changed, to my astonishment.

It wouldn't surprise me if it was a matter of defnition of
Range but as far as i can read the docs, there's nothing in
there regarding this behavior. Any comments?


--
Vänligen
Konrad
---------------------------------------------------

Sleep - thing used by ineffective people
as a substitute for coffee

Ambition - a poor excuse for not having
enough sence to be lazy
---------------------------------------------------