2016-06-24 23 views
1

我在第6行收到Object Required錯誤。有人可以告訴我我的代碼中出了什麼問題嗎?對象在第6行上的必需錯誤

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

在此行中設置lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count我收到錯誤消息。 –

回答

2

你不一個長整型到.Count之間。只需使用=來分配值。另外,你需要xlCellTypeLastCell的行號;而不是行數(它總是1)。

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

或者作爲,

lR = sheet.UsedRange.Rows.Count 
0

只需刪除「設置」,它會工作,因爲我們只使用「設置」當我們宣佈一個vairable爲對象。像工作表一樣工作表(這裏的工作表是一個對象) 不像lr一樣長(long是一個數據類型,不是一個對象)。

而不是 組LR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count

寫 - LR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell).Rows.Count

謝謝!

+0

我不相信[xlCellTypeLastCell屬性](https://msdn.microsoft.com/en-us/library/office/ff836534.aspx)可以佔用多於一行。 – Jeeped

+0

現在感謝它的工作 –

+0

請給我的回答@Sougata,如果它幫助你。 :) –