「excel 値のクリア マクロ」
「数式を残して値だけをクリア マクロ」
「エクセル 計算 セル 値クリア マクロ」
といった検索で、アクセスがあります。
Excelで、値だけ・値のみをクリアするマクロを探している方による検索です。
プログラミングはできるけれど、Excelのジャンプ機能を知らない方の場合、ループを回しながらセルを一つずつ調べて、数式でなく値ならば削除するという、遅いマクロを作ってしまう可能性が高そうに思えます。
セルの値のみをクリアするマクロ
以下のような単純なマクロで、セルの値だけを削除することができます。
On Error GoTo ErrHandl
Cells.SpecialCells(xlCellTypeConstants).ClearContents
Exit SubErrHandl:
MsgBox "値の入力されているセルが存在しません。"
End Sub
Rangeオブジェクトが持つSpecialCellsメソッドを使うと、引数に指定した条件に合致するRangeオブジェクトを取得することができます。
上記のように、定数xlCellTypeConstantsを指定すれば、値の入力されているRangeオブジェクトが取得できます。
その取得できたRangeオブジェクトに対して、数式やデータを削除するClearContensメソッドを実行しています。
値の入力されているセルが存在していなときにエラーとなるので、
On Error GoTo ErrHandl
その場合メッセージを表示するようにしています。
MsgBox "値の入力されているセルが存在しません。"
ここではアクティブシート全体に対して処理するサンプルマクロをご紹介していますが、セル範囲を限定して、例えば、B2:G7セルの値だけをクリアする場合は、
Range("B2:G7").SpecialCells(xlCellTypeConstants).ClearContents
といったコードにしてください。
最終更新日時:2024-02-29 09:26
Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » セルの値のみをクリアするExcelマクロ