对象第6行的必需错误

我在第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 

您不要长整数设置为.Count。 只需使用=来分配值。 另外,你需要xlCellTypeLastCell的行号; 不是它所在的行数(它总是1)。

 lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row 

或者,

 lR = sheet.UsedRange.Rows.Count 

只要删除“设置”,它将工作,因为我们只使用“设置”时,我们宣布一个vairable作为对象。 像工作表一样工作表(这里的工作表是一个对象),不像lr一样长(long是一个数据types,而不是一个对象)。

而不是设置lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count

写 – lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count

谢谢!