Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
I was given this code on the forum, (cant find my old post), which works fine, deleting the grey coloured cells, however once it has deleted the lines I need it errors on this line Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete with Run time error 91, object variable or with block variable not set. The same error appears if there are no grey cells to delete. Am I missing something from this code? Thanks LiAD Application.FindFormat.Interior.ColorIndex = 15 On Error GoTo Done Do Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete xlShiftUp Loop Done: |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
to be expected. The line inherently does two things , it sets the range and
then deletes the row. If there's no cells detected, then trying to delete from a null raises an error in the following code sample, I've split the line into the two parts so that if you step (F8) through it, you'll see what happens. Try it on a blank column, a column with contiguous data and a column with a break in the data..there's no error, simply that the range isn't set so remains null and the IF takes care of it. Sub rubout() Dim target As Range Set target = Range("L3:L" & Rows.Count).Find("", SearchFormat:=True) If Not target Is Nothing Then target.EntireRow.Delete End If End Sub "LiAD" wrote: Hi, I was given this code on the forum, (cant find my old post), which works fine, deleting the grey coloured cells, however once it has deleted the lines I need it errors on this line Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete with Run time error 91, object variable or with block variable not set. The same error appears if there are no grey cells to delete. Am I missing something from this code? Thanks LiAD Application.FindFormat.Interior.ColorIndex = 15 On Error GoTo Done Do Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete xlShiftUp Loop Done: |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try the below which will loop until all rows are found...
Application.FindFormat.Interior.ColorIndex = 15 Do Set varFound = Range("L3:L" & Rows.Count).Find("", SearchFormat:=True) If Not varFound Is Nothing Then varFound.EntireRow.Delete xlShiftUp Loop Until varFound Is Nothing If this post helps click Yes --------------- Jacob Skaria "LiAD" wrote: Hi, I was given this code on the forum, (cant find my old post), which works fine, deleting the grey coloured cells, however once it has deleted the lines I need it errors on this line Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete with Run time error 91, object variable or with block variable not set. The same error appears if there are no grey cells to delete. Am I missing something from this code? Thanks LiAD Application.FindFormat.Interior.ColorIndex = 15 On Error GoTo Done Do Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete xlShiftUp Loop Done: |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Spot on once again
Thanks! "Jacob Skaria" wrote: Try the below which will loop until all rows are found... Application.FindFormat.Interior.ColorIndex = 15 Do Set varFound = Range("L3:L" & Rows.Count).Find("", SearchFormat:=True) If Not varFound Is Nothing Then varFound.EntireRow.Delete xlShiftUp Loop Until varFound Is Nothing If this post helps click Yes --------------- Jacob Skaria "LiAD" wrote: Hi, I was given this code on the forum, (cant find my old post), which works fine, deleting the grey coloured cells, however once it has deleted the lines I need it errors on this line Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete with Run time error 91, object variable or with block variable not set. The same error appears if there are no grey cells to delete. Am I missing something from this code? Thanks LiAD Application.FindFormat.Interior.ColorIndex = 15 On Error GoTo Done Do Range("L3:L" & Rows.Count).Find("", SearchFormat:=True).EntireRow.delete xlShiftUp Loop Done: |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Loop & Delete | Excel Discussion (Misc queries) | |||
Loop and delete | Excel Programming | |||
A loop to delete | Excel Programming | |||
Simple For-Loop gives 1004 error using variable to EntireRow.Delete | Excel Programming | |||
Befuddled with For Next Loop ------ Run - Time Error '13' Type Mismatch Error | Excel Programming |