- 締切済み
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なのですが、 このマクロを実行しても何も起こらないです。 なぜでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
>2行目から、最終行までEmptyにしたい 全てのフィールドの2行目からなら >.Range(.Cells(2, LastCol), .Cells(lastRow, LastCol)) = Empty ↓ .Range("A2", .Cells(lastRow, LastCol)).Value = Empty
- mar00
- ベストアンサー率36% (158/430)
No.2、3です。 勘違いしていました。 回答を無視して下さい。
- 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 です。
- mar00
- ベストアンサー率36% (158/430)
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 にすればいいと思います。
- kittensillabub
- ベストアンサー率60% (6/10)
確認しては無いですが、セル範囲に値を代入するなら .valueが必要かと。 .Range(.Cells(2, LastCol), .Cells(lastRow, LastCol)).value = Empty