Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Test if the range is empty | Excel Discussion (Misc queries) | |||
Check for empty range in vba | Excel Discussion (Misc queries) | |||
why is range empty? | Excel Discussion (Misc queries) | |||
sum next two non-empty cells in a range | Excel Worksheet Functions | |||
determinate if a range is empty | Excel Programming |