【Excel VBA】セルの値のみクリアする方法

エクセルのセルの値のみを一括で削除したいときはないでしょうか。

例えば集計結果をもう一度やり直すため、数式は残して、値のみ削除したいときなどです。

けど、そんな中で悩むことは、

・セルの値のみをクリアするしたいがやり方がわからない。
・ショートカットやVBAで効率的に行いたいがやり方がわからない。

ですよね。

今回はそんなお悩みを解決する
Excel VBAによるセルの値のみクリアする方法について
まとめます!


セルの値のみをクリアする基本操作

値があるセルを選択します

[ホーム]タブを選択します

[編集]グループの[検索と選択]>[定数]を選択します

値のみが選択されました

「Delete」クリックか右クリックし「削除」をクリックします

シート内の値がクリアされましたね。

タカヒロ
タカヒロ
ただ、項目名も定数ですので選択されてしまいます。
除外する場合は以下の手順を追加してください。



消したくない値がある場合は[Ctrl]キーを押しながらセルを選択で解除します

項目名を除く値のみがクリアされました



セルの値のみをクリアするショートカット

セルの値のみをクリアするショートカットは以下の順序で実施します。

数式と値のクリア

Alt + H

Alt + FD

Alt + N×2回

Delete



セルの値のみをクリアするVBA

エクセルVBAで【Excel VBA】セルの値のみクリアする方法について説明します。

サンプルのVBAは以下の通りです。

セルの値のみをクリアする

値のみのセルをまとめて選択する場合はSpecialCellsメソッドを使用し、 引数のデータ型に定数を意味する「xlCellTypeConstants」を指定します。

最後にClearContentsメソッドで選択されているセルの値を削除します。

Sub セルの値のみをクリアする()
    '定数のセルを選択します。
    ActiveSheet.Cells.SpecialCells(xlCellTypeConstants).Select
    
    '選択範囲の値を削除します。
    Selection.ClearContents
End Sub

実行結果です。

数式と値のクリア(削除除外追加)

値のみのセルをまとめて選択する場合はSpecialCellsメソッドを使用し、 引数のデータ型に定数を意味する「xlCellTypeConstants」を指定します。

次に削除したくないセルの選択を解除します。

最後にClearContentsメソッドで選択されているセルの値を削除します。

Sub セルの値のみをクリアする_削除除外()
    '定数のセルを選択します。
    ActiveSheet.Cells.SpecialCells(xlCellTypeConstants).Select
    
    '削除したくないセルの選択を解除します。
    Range("A2:A7,C2:C7,B2:B7").Select
    
    '選択範囲の値を削除します。
    Selection.ClearContents
End Sub

実行結果です。



VBAの実装手順

実装手順は以下の通りです。

今回はExcel側にこのVBAを実装します。

①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のVBAを入力します。

こちらで完了です。

VBAを実行する

では早速VBAの実行をしてみましょう。

①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。

②処理がされたことが確認できれば完了です。
※完了メッセージやステータス管理など必要に応じて実装してもらえばと思います。


さいごに

いかがでしょうか。

今回は、
Excel VBAによるセルの値のみクリアする方法について
まとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です