我试图在if语句中使用从一个范围中获得的单元格值,但我得到了这个错误。
Run-time error '424':
Object required
这就是我的代码所要做的。
Set rng = ActiveSheet.Range("B:B").Find("hello").offset(1, 0)
test123 = False
While test123 = False
If rng.Value = "" <- error line
rng.EntireRow.Delete
Else
test123 = True
End If
Wend
任何帮助都将是很棒的,谢谢!
编辑:我的数据看起来像这样。我试图删除 "hello "和下一条非空白行之间的所有空白行。所以我的代码是搜索 "hello",然后将该行偏移1。
table 1
Row Header:
bye
hi
hello
thank you
问题是当你删除第一行的时候 rng
已被删除,如果再次引用会出错。
Dim rng As Range
Set rng = ActiveSheet.Range("B:B").Find("hello")
If rng Is Nothing Then Exit Sub
Dim rw As Long
rw = rng.Row + 1
Do While ActiveSheet.Cells(rw, 2) = ""
Rows(rw).Delete
Loop