【Excel VBA】セルの値のみクリアする方法!VBAの一括処理も!

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

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

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

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

ですよね。

今回はそんなお悩みを解決する

・セルの値のみをクリアする基本操作
・セルの値のみをクリアするショートカット
・セルの値のみをクリアするVBA

についてまとめます!

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

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

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

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

値のみが選択されました

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

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

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

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

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

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

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

数式と値のクリア

Alt + H

Alt + FD

Alt + N×2回

Delete

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

ExcelVBAで【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」をクリックし実行したいマクロを選択し、「実行」をクリックします。

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

さいごに

いかがでしょうか。

今回は、

・セルの値のみをクリアする基本操作
・セルの値のみをクリアするショートカット
・セルの値のみをクリアするVBA

についてまとめました。

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



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。








コメントを残す

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