セルやセル範囲の値を消去する
VBAで下記記述を行う事で、セル情報や指定範囲のセル情報をクリアする事が出来ます。
'■セルをクリア Cells(1, 1).Clear '■セル範囲をクリア Range("A1:B5").Clear Range(Cells(1, 1), Cells(5, 2)).Clear 'A1:B5(Range("A1:B5").Clearと同一)
Clear以外のメソッド一覧
Clear以外にも、削除命令のメソッドが準備されています。
メソッド | 内容 | 値 | 数式 | 書式 | 罫線 | コメント | ハイパーリンク | アウトライン |
Clear | 全て | 消去 | 消去 | 消去 | 消去 | 消去 | 消去 | 消去 |
ClearContents | 値 | 消去 | 消去 | ー | ー | ー | ※1 | ー |
ClearComments | コメント | ー | ー | ー | ー | 消去 | ー | ー |
ClearFormats | 書式 | ー | ー | 消去 | 消去 | ー | ※2 | ー |
ClearHyperlinks | ハイパーリンク | ー | ー | ー | ー | ー | ※1 | ー |
ClearOutline | アウトライン | ー | ー | ー | ー | ー | ー | 解除 |
※1 ハイパーリンク情報は削除されるが、書式情報は残る
※2 書式情報は削除されるが、ハイパーリンク情報は残る
よく使用するのはClearとClearContentsでしょう。
セルの削除はClear、セルの値のみ削除はClearContntsと覚えましょう。
それ以外は使用する際に調べる形で問題ないと考えます。
その他
- 各種セル情報をクリアのコードを実行すると、画面がちらつきます。
ちらつきが気になる(もしくは速度を求める)場合は、下記処理を追加してください。
ExcelVBAマクロ「マクロ処理を高速化する」をパーツ化する。 - ClearメソッドはCells、Rows、Columns、Rangeのいずれでも使用可能です。
使用例
'■Clearメソッドのサンプル(各種データの消去) Public Sub Call_sample_ClearMethod() '■セルA1をクリア Cells(1, 1).Clear '■A1:B5の値のみクリア Range("A1:B5").ClearContents '■3行目の書式情報のみクリア Rows(3).ClearFormats '■B列(2列目)のコメント情報のみクリア Column(2).ClearComments End Sub
他ブックや他シートのセル情報消去する場合は、CellsやRangeの前にブック名やシート名を入れてください。
'本ブックのシート1セル[A1]の情報を消去 ThisWorkbook.Worksheets(Sheet1).Cells(1, 1).Clear
もちろん上記の場合は下記記載方法を忘れずに。
マクロ初級者必読-ワークシート名を変数にSetし、短い名前で利用する
関連記事
コメント