ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   why is range empty? (https://www.excelbanter.com/excel-programming/324879-why-range-empty.html)

JT[_2_]

why is range empty?
 
In the code below, rngToFind is being filled correctly.
The problem is that rngFound is always empty. On sheet
("A"), there is data in column 1. Some items will match
and some won't. If the item (from sheet "P") is not found
in the rngFound (from sheet "A") then the item on
sheeet "P" should be deleted.

This is not happening. When I put my coursor over
rngFound it says empty.

Any suggestions or help would be appreciated. Thanks....

Dim rngToFind As Range
Dim rngFound As Range

Set rngToFind = Sheets("P").Range("A" & lstrowPP).End(xlUp)

Do While rngToFind.Row 1

Set rngFound = Sheets("A").Columns(1).Find rngToFind.Value)

Set rngToFind = rngToFind.Offset(-1, 0)

If Not rngFound Is Nothing Then
rngToFind.Offset(1, 0).EntireRow.Delete

End If
Loop


Bob Phillips[_7_]

why is range empty?
 
The only thing I c an see is a missing bracket

Set rngFound = Sheets("A").Columns(1).Find(rngToFind.Value)

I would also clear rngToFind as precaaution each iteration of the loop

Set rngToFind = Nothing
Set rngToFind = rngToFind.Offset(-1, 0)


--
HTH

Bob Phillips

"JT" wrote in message
...
In the code below, rngToFind is being filled correctly.
The problem is that rngFound is always empty. On sheet
("A"), there is data in column 1. Some items will match
and some won't. If the item (from sheet "P") is not found
in the rngFound (from sheet "A") then the item on
sheeet "P" should be deleted.

This is not happening. When I put my coursor over
rngFound it says empty.

Any suggestions or help would be appreciated. Thanks....

Dim rngToFind As Range
Dim rngFound As Range

Set rngToFind = Sheets("P").Range("A" & lstrowPP).End(xlUp)

Do While rngToFind.Row 1

Set rngFound = Sheets("A").Columns(1).Find rngToFind.Value)

Set rngToFind = rngToFind.Offset(-1, 0)

If Not rngFound Is Nothing Then
rngToFind.Offset(1, 0).EntireRow.Delete

End If
Loop




Jim Thomlinson[_3_]

why is range empty?
 
Not too sure. It worked fine when I tried it. It did not compile however
until I changed

Set rngFound = Sheets("A").Columns(1).Find rngToFind.Value)

to

Set rngFound = Sheets("A").Columns(1).Find (rngToFind.Value)

Which I assume you have done. The only thing I can think of is the values
that you are looking for may be padded with blanks. Try changing to

Set rngFound = Sheets("A").Columns(1).Find (trim(rngToFind.Value))

HTH


"JT" wrote:

In the code below, rngToFind is being filled correctly.
The problem is that rngFound is always empty. On sheet
("A"), there is data in column 1. Some items will match
and some won't. If the item (from sheet "P") is not found
in the rngFound (from sheet "A") then the item on
sheeet "P" should be deleted.

This is not happening. When I put my coursor over
rngFound it says empty.

Any suggestions or help would be appreciated. Thanks....

Dim rngToFind As Range
Dim rngFound As Range

Set rngToFind = Sheets("P").Range("A" & lstrowPP).End(xlUp)

Do While rngToFind.Row 1

Set rngFound = Sheets("A").Columns(1).Find rngToFind.Value)

Set rngToFind = rngToFind.Offset(-1, 0)

If Not rngFound Is Nothing Then
rngToFind.Offset(1, 0).EntireRow.Delete

End If
Loop



gocush[_29_]

why is range empty?
 
Bob,

If you
Set rngToFind = Nothing,

how can you then
Set rngToFind = rngToFind.Offset(-1, 0)



"Bob Phillips" wrote:

The only thing I c an see is a missing bracket

Set rngFound = Sheets("A").Columns(1).Find(rngToFind.Value)

I would also clear rngToFind as precaaution each iteration of the loop

Set rngToFind = Nothing
Set rngToFind = rngToFind.Offset(-1, 0)


--
HTH

Bob Phillips

"JT" wrote in message
...
In the code below, rngToFind is being filled correctly.
The problem is that rngFound is always empty. On sheet
("A"), there is data in column 1. Some items will match
and some won't. If the item (from sheet "P") is not found
in the rngFound (from sheet "A") then the item on
sheeet "P" should be deleted.

This is not happening. When I put my coursor over
rngFound it says empty.

Any suggestions or help would be appreciated. Thanks....

Dim rngToFind As Range
Dim rngFound As Range

Set rngToFind = Sheets("P").Range("A" & lstrowPP).End(xlUp)

Do While rngToFind.Row 1

Set rngFound = Sheets("A").Columns(1).Find rngToFind.Value)

Set rngToFind = rngToFind.Offset(-1, 0)

If Not rngFound Is Nothing Then
rngToFind.Offset(1, 0).EntireRow.Delete

End If
Loop






All times are GMT +1. The time now is 10:49 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com