2016-06-24 11 views
1

行番号が6のオブジェクトに必要なエラーが発生しました。誰か自分のコードで何が間違っているか教えてください。オブジェクト行に必要なエラーはありません。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

Set lR = sheet.UsedRange.SpecialCells(xlCellTypeLastCell)。この行の行数エラーが発生しています。 –

答えて

2

あなたはは.Countに長整数を設定しないでください。 =を使用して値を割り当てるだけです。さらに、xlCellTypeLastCellの行番号が必要です。それがオンになっている行の数ではありません(常に1になります)。

lR = sheet.UsedRange.Rows.Count 
0

は、単に「設定する」を削除し、私たちがオブジェクトとしてvairableを宣言するとき、我々は唯一の「設定」を使用して、それが動作する、として

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

代わりに。ワークシートと同様のシート(ここではワークシートはオブジェクト) 長さが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に評価してください。 :) –

関連する問題