我在第6行遇到了Object Required错误。有人可以告诉我代码中有什么问题吗?
Dim row As Range
Dim sheet As Worksheet
Dim lR As Long
Dim flag As Boolean
Set sheet = Sheets("Sheet3")
Set lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count
For a = 1 To lR
For i = 1 To lR
Set row = sheet.Rows(i)
If WorksheetFunction.CountA(row) = 0 Then
flag = True
sheet.Range("A" & i).EntireRow.Delete
End If
Next i
Next a
If flag = False Then
MsgBox "No Empty Rows Found"
End If
答案 0 :(得分:2)
你没有将长整数设置为.Count。只需使用 = 分配值即可。另外,您需要xlCellTypeLastCell的行号;不是它所在的行数(总是为1)。
lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
或者是,
lR = sheet.UsedRange.Rows.Count
答案 1 :(得分:0)
只需删除'Set',它就会起作用,因为当我们声明一个可变的对象时我们只使用“Set”。像工作表一样(这里工作表是一个对象) 不像lr那么长(long是数据类型,而不是对象)。
而不是 设置lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count 写道 - lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count谢谢!