こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

vba エクセル

2行目から、最終行までEmptyにしたいのにならないです。

1行目はフィールド行なのに、そのままにしたいのですが
2行目から最終行は空白にしたいです。

なので

Sub TEST()

With Sheets("log")

lastRow = .Cells(.Rows.Count, "b").End(xlUp).Row
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column

.Range(.Cells(2, LastCol), .Cells(lastRow, LastCol)) = Empty
End With

End Sub

としたのですが、何も起こりません。

lastRowは100、LastColは5なのですが、
このマクロを実行しても何も起こらないです。

なぜでしょうか?

投稿日時 - 2014-10-11 15:39:20

QNo.8786764

暇なときに回答ください

このQ&Aは役に立ちましたか?

15人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

>2行目から、最終行までEmptyにしたい
全てのフィールドの2行目からなら
>.Range(.Cells(2, LastCol), .Cells(lastRow, LastCol)) = Empty
    ↓
 .Range("A2", .Cells(lastRow, LastCol)).Value = Empty

投稿日時 - 2014-10-12 15:43:00

ANo.4

No.2、3です。
勘違いしていました。

回答を無視して下さい。

投稿日時 - 2014-10-11 16:37:11

ANo.3

No.2です。
間違えていました。

Sub TEST()

With Sheets("Sheet1")

lastRow = .Cells(Rows.Count, "b").End(xlUp).Row
LastCol = .Cells(1, Columns.Count).End(xlToLeft).Column

.Range(.Cells(2, 2), .Cells(lastRow, LastCol)) = Empty
End With

End Sub

です。

投稿日時 - 2014-10-11 16:29:03

ANo.2

Sub TEST()

With Sheets("Sheet1")

lastRow = .Cells(Rows.Count, "b").End(xlUp).Row
LastCol = .Cells(1, Columns.Count).End(xlToLeft).Column

.Range(Cells(2, 2), Cells(lastRow, LastCol)) = Empty
End With

End Sub

にすればいいと思います。

投稿日時 - 2014-10-11 16:24:36

確認しては無いですが、セル範囲に値を代入するなら .valueが必要かと。

.Range(.Cells(2, LastCol), .Cells(lastRow, LastCol)).value = Empty

投稿日時 - 2014-10-11 16:20:11

あなたにオススメの質問