• 締切済み

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なのですが、 このマクロを実行しても何も起こらないです。 なぜでしょうか?

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.5

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

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

No.2、3です。 勘違いしていました。 回答を無視して下さい。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.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 です。

  • mar00
  • ベストアンサー率36% (158/430)
回答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 にすればいいと思います。

回答No.1

確認しては無いですが、セル範囲に値を代入するなら .valueが必要かと。 .Range(.Cells(2, LastCol), .Cells(lastRow, LastCol)).value = Empty