![]() |
Delete Loop Error
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: |
Delete Loop Error
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: |
Delete Loop Error
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: |
Delete Loop Error
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: |
All times are GMT +1. The time now is 04:38 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com