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 |
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 |
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 |
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