No, you can't union with nothing.
I didn't make it multiline because I like to be verbose - in fact I left out
two critical lines
Dim rng as Range, rng1 as Range, rng2 as Range
Set rng = MyRange
On Error Resume Next
set rng1 = rng.specialcells(xlFormulas)
set rng2 = rng.Specialcells(xlconstants)
On Error goto 0
if not rng1 is nothing and not rng2 is nothing then
set rng = Union(rng1,rng2)
elseif not rng1 is nothing then
set rng = rng1
elseif not rng2 is nothing then
set rng = rng2
Else
set rng = nothing
end if
--
Regards,
Tom Ogilvy
Rob said:
I'd really like this as a one liner, which would be posible if specialcells
didn't cause an error. Any ideas?
Union( MyRange.specialcells(xlFormulas) ,
Myrange.SpecialCells(xlconstants) )
Tom Ogilvy said:
Dim rng as Range, rng1 as Range, rng2 as Range
Set rng = MyRange
set rng1 = rng.specialcells(xlFormulas)
set rng2 = rng.Specialcells(xlconstants)
if not rng1 is nothing and not rng2 is nothing then
set rng = Union(rng1,rng2)
elseif not rng1 is nothing then
set rng = rng1
elseif not rng2 is nothing then
set rng = rng2
Else
set rng = nothing
end if
msgbox rng.Address
--
Regards,
Tom Ogilvy
I'm trying to use SpecialCells to select all the non-blank cells in my
range.
If my approach is correct please tell me how to complete my code, or if
there's a better way...
'my approach is to:
set Blanks=MyRange.SpecialCells(xlCellTypeBlanks)
'and then
set MyRange=intersect ( MyRange , [not blanks] )
'but I can't work out how to get [not blanks]
Thanks in advance
Rob