我正在尝试搜索A列中最后使用过的行,但我设法做得很好,但是当我尝试使用该行删除其下的所有行时,我总是收到“ Object Required”错误。有任何想法吗?
对于每个xyz循环,我都进行了一些研究,但是我无法充分理解它以使其正常工作。
Sub Range_End_Method()
Dim ws As Worksheet
Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
For Each ws In ActiveBook
ws.Rows(lRow & ":" & ws.Rows.Count).Delete
Next ws
End Sub
我的期望是(假设最后使用的行是6),将第7行及以后的所有内容从工作表中删除。我已经尽力争取到正确的行,但无法删除它。
答案 0 :(得分:0)
"Object Required"
错误是由于代码中的错字引起的。
只需将ActiveBook
更改为ActiveWorkbook
,它将消失。
另一个错误是因为要遍历工作簿中的每个工作表,您需要使用.Sheets
属性。
这是更正的代码:
Sub Range_End_Method()
Dim ws As Worksheet
Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
For Each ws In ActiveWorkbook.Sheets
ws.Rows(lRow & ":" & ws.Rows.Count).Delete
Next ws
End Sub
注意:为避免变量拼写错误,请记住在每个模块的开头使用
Option Explicit
。
希望这会有所帮助。
答案 1 :(得分:0)
Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
上面的代码将返回使用的最后一行,这意味着此列下该行下方的任何其他单元格均为空白。 我猜您不需要删除空白行。