Select all cells NOT in a range
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 |
Select all cells NOT in a range
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 "Rob" wrote in message ... 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 |
Select all cells NOT in a range
Thanks Tom.
"Tom Ogilvy" wrote: 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 "Rob" wrote in message ... 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 |
Select all cells NOT in a range
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" wrote: 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 "Rob" wrote in message ... 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 |
Select all cells NOT in a range
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" wrote in message ... 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" wrote: 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 "Rob" wrote in message ... 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 |
Select all cells NOT in a range
ok thanks very much, I'll do it as a seperate function. Sorry to have called
you verbose :-) "Tom Ogilvy" wrote: 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" wrote in message ... 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" wrote: 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 "Rob" wrote in message ... 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 |
Select all cells NOT in a range
You didn't call me verbose - that is my term. I don't like having to do it
that way either, but I have never figured out a better way. Someone else may have a more exciting approach. <g -- Regards, Tom Ogilvy "Rob" wrote in message ... ok thanks very much, I'll do it as a seperate function. Sorry to have called you verbose :-) "Tom Ogilvy" wrote: 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" wrote in message ... 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" wrote: 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 "Rob" wrote in message ... 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 |
All times are GMT +1. The time now is 08:49 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com