ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Select all cells NOT in a range (https://www.excelbanter.com/excel-programming/318103-select-all-cells-not-range.html)

Rob

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

Tom Ogilvy

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




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





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





Tom Ogilvy

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







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







Tom Ogilvy

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