Excelで入力フォームや日報、見積書を運用していると、前回入力した数値や文字をまとめて消去したい場面があります。
セルを選択してDeleteキーを押す方法もありますが、消去範囲が広い場合や、書式・数式を残したい場合には手間がかかります。
そこで便利なのが、VBAマクロを割り当てたクリアボタンです。
クリックするだけで指定した入力セルだけを空欄に戻せるため、入力ミスや消し忘れの防止につながります。
この記事で扱うポイントは、入力範囲を指定するVBA、図形へのマクロ登録、書式を残すクリア方法、実務で安全に使うための注意点です。
サンプルデータでは、1行目にヘッダーがある入力表を使います。
それでは、Excelのクリアボタンを作る流れを確認していきましょう。
エクセルでクリアボタンを作る方法【VBAマクロの登録】
それではまず、入力データを一括消去する基本のマクロについて解説していきます。
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 日付 | 担当者 | 商品名 | 数量 |
| 2026/10/06 | 田中 | ノート | 12 |
消去対象セルの決定
最初に、どのセルを消去するかを決めます。
たとえば入力用の表でA2からD20までを利用しているなら、その範囲を消去対象にします。
1行目のヘッダーを残すため、範囲をA1から指定しないことが重要です。
入力欄と計算欄が混在している場合は、数式セルを含めない範囲にするか、後述する定数だけを消去する処理を選びます。
入力用セルが連続している表では、Range(“A2:D20”)のように開始セルと終了セルを指定すると分かりやすくなります。
対象範囲は、実際のシート上で色を付けておくと、後からマクロを修正するときにも判断しやすくなります。
【操作のポイント】見出し、数式、印刷用の罫線まで消えないように、入力欄だけを先に確認します。
VBAコードの入力
続いて、VBAエディターに入力するコードを確認していきます。
ExcelでAltキーを押しながらF11キーを押すと、Visual Basic Editorが開きます。
上部メニューの挿入から標準モジュールを選び、表示されたコード画面に次の内容を入力します。

Sub 入力データをクリア()
Worksheets("入力フォーム").Range("A2:D20").ClearContents
End Sub
Worksheets(“入力フォーム”)は、操作するワークシート名です。
実際のシート名が売上入力であれば、入力フォームの部分を売上入力に変更します。
Range(“A2:D20”)は一括消去したいセル範囲を表します。
ClearContentsはセルの値や文字列だけを消し、罫線、背景色、列幅などの書式は残す命令です。
入力内容のみをリセットしたい帳票では、ClearではなくClearContentsを使うとレイアウトを保ちやすくなります。
【操作のポイント】コード内のシート名は、シート見出しに表示される名前と完全に同じ文字列で入力します。
マクロ有効ブックでの保存
コードを入力しただけでは、通常のxlsx形式で保存した際にVBAが失われる可能性があります。
ファイルタブから名前を付けて保存を選び、ファイルの種類をExcelマクロ有効ブックに変更します。
拡張子はxlsmになります。

xlsm形式で保存しないと、作成したクリアボタンの処理を次回開いたときに利用できません。
保存後にファイルを閉じ、再度開いてマクロの警告が表示された場合は、信頼できる自作ファイルであることを確認してからコンテンツを有効化します。
【操作のポイント】共有先に配布する場合は、xlsm形式であることと、マクロを有効化する必要があることを事前に伝えます。
図形ボタンへのマクロ割り当て
続いては、作成したVBAをシート上のボタンに割り当てる操作を確認していきます。
| 入力欄 | 内容 | 操作 |
|---|---|---|
| A2からD20 | 入力データ | 一括クリア |
挿入タブから図形の配置

シートに戻り、挿入タブの図形から角丸四角形などを選択します。
入力表の右側や上部など、作業中にクリックしやすく、入力セルを隠さない位置へドラッグして配置しましょう。
図形内には入力をクリアやリセットなど、利用者が役割を理解できる文字を入力します。
ボタン名は削除よりも入力をクリアのように対象を限定した表現にすると、誤操作を減らしやすくなります。
入力フォームに複数の処理がある場合は、クリアボタンを印刷ボタンや登録ボタンと離して配置すると視認性が上がります。
【操作のポイント】図形の塗りつぶし色と文字色に十分な差を付け、誰でも押せるボタンだと分かる見た目に整えます。
マクロの登録画面
配置した図形を右クリックし、表示されるメニューからマクロの登録を選択します。
一覧に入力データをクリアが表示されたら選択し、OKをクリックします。

これで図形をクリックしたときに、標準モジュールへ記述した処理が実行されます。
マクロ名が一覧に表示されないときは、コードが標準モジュールにあるか、Subで始まりEnd Subで終わっているかを確認してください。
ボタンに登録するのは、引数のないPublic Sub形式のマクロが基本です。
【操作のポイント】図形を選択した状態ではなく、通常のクリックで実行できるかを保存前に試します。
誤操作を減らすボタン設計
クリア処理は内容を消す操作のため、クリック直後に元へ戻せない場合があります。
そのため、ボタンの近くに入力データのみ消去などの補足を添えると、対象範囲を伝えやすくなります。
削除対象が広いブックでは、実行前に確認メッセージを表示するVBAへ変更する方法も有効です。
Sub 入力データをクリア()
If MsgBox("入力データを消去しますか?", vbYesNo + vbQuestion) = vbYes Then
Worksheets("入力フォーム").Range("A2:D20").ClearContents
End If
End Sub
Yesをクリックした場合だけ処理するため、うっかりクリックしたときの防波堤になります。
【操作のポイント】日報や申請書など入力履歴が重要なファイルでは、確認画面を付けた設計が安心です。
入力内容だけを消去するClearContents
続いては、書式や数式を守りながら入力データだけを消す方法を確認していきます。
| セル | 消去前 | ClearContents後 |
|---|---|---|
| B2 | 田中 | 空欄 |
| D2 | 12 | 空欄 |
ClearContentsとClearの違い
ClearContentsはセルに入力された値、文字列、数式だけを削除するメソッドです。
一方でClearは、値だけでなく書式、コメント、入力規則なども含めて消去します。
帳票の枠線や入力セルの色を残したいなら、通常はClearContentsを選びます。
ClearContentsは内容の消去、Clearはセル情報全体の消去という違いがあります。
たとえば数量欄に設定した表示形式や、入力欄を示す薄い黄色の背景は、ClearContentsなら維持されます。
【操作のポイント】同じクリアという名前でも消える対象が異なるため、コピーしたVBAを使う前に命令名を確認します。
定数だけを消すマクロ
入力表の中に合計などの数式が含まれている場合、範囲全体にClearContentsを実行すると数式まで消えてしまいます。
このような場合は、SpecialCellsを利用して定数セルだけを対象にします。
Sub 入力値だけをクリア()
Worksheets("入力フォーム").Range("A2:D20").SpecialCells(xlCellTypeConstants).ClearContents
End Sub
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 日付 | 担当者 | 商品名 | 数量 |
| 2 | 2026/10/06 | 田中 | ノート | 12 |
| 21 | 合計 | =SUM(D2:D20) |
SpecialCells(xlCellTypeConstants)は、数式ではなく直接入力された値だけを抽出します。
売上表の合計行や自動計算列を残したいときに、特に役立つ処理です。
【操作のポイント】入力値がない状態ではSpecialCellsでエラーになることがあるため、実データを入れた状態で動作を確認します。
空欄へ戻す範囲の分割
入力欄が離れているフォームでは、範囲を一つずつ指定してClearContentsを実行できます。
Sub フォームをクリア()
With Worksheets("入力フォーム")
.Range("B3:B8").ClearContents
.Range("D3:D8").ClearContents
.Range("F12:H12").ClearContents
End With
End Sub
Withを使うと、同じワークシート名を繰り返さずに記述できます。
結合セルが含まれる帳票では、結合範囲の左上セルを基準に指定するとトラブルを避けやすくなります。
連続しない入力欄では、見た目だけで範囲を広く取らず、実際に入力されるセルを個別に列挙する設計が安全です。
【操作のポイント】フォームを変更したら、追加された入力欄がクリア対象に含まれているかを必ず見直します。
開発タブとフォームコントロールの活用
続いては、図形以外の方法でクリアボタンを配置する手順を確認していきます。
| 方式 | 特徴 | 向いている用途 |
|---|---|---|
| 図形 | デザインしやすい | 入力フォーム |
| フォームコントロール | ボタンらしい見た目 | 定型業務 |
開発タブの表示
開発タブがリボンに表示されていない場合は、ファイルタブからオプションを開きます。
リボンのユーザー設定で開発にチェックを入れると、上部リボンに開発タブが追加されます。
開発タブはVBA、フォームコントロール、アドインの操作をまとめたタブです。
【操作のポイント】設定後にExcelを再起動しなくても、リボン上に開発タブが表示されます。
ボタンフォームコントロールの挿入
開発タブの挿入を選び、フォームコントロールにあるボタンをクリックします。
ワークシート上でドラッグすると、ボタンの配置直後にマクロの登録画面が表示されます。
作成済みの入力データをクリアを選んでOKを押すと、ボタンとマクロが接続されます。
フォームコントロールのボタンは、図形よりも標準的な操作部品として見せたいときに便利です。
【操作のポイント】ボタンを右クリックしてテキストの編集を選ぶと、表示名を変更できます。
ActiveXコントロールの注意点
開発タブにはActiveXコントロールのコマンドボタンもあります。
ただし、環境やセキュリティ設定によって動作に差が出ることがあるため、一般的な入力フォームでは図形またはフォームコントロールの利用が扱いやすい選択です。
複数の人へ配布するブックでは、できるだけ保守しやすい構成を選ぶことが大切です。
【操作のポイント】社内のExcelバージョンが統一されていない場合は、配布前に別のPCでもクリック動作を確認します。
マクロ実行時のエラー対策と安全性
続いては、クリアボタンが動かないときの確認項目と安全な運用方法を確認していきます。
| 症状 | 主な確認項目 |
|---|---|
| ボタンを押しても反応しない | マクロの有効化、登録先 |
| エラーが表示される | シート名、セル範囲 |
マクロが無効になっている場合
ファイルを開いたときにセキュリティ警告が表示されていると、ボタンを押してもVBAが実行できません。
信頼できる作成元のxlsmファイルであることを確認したうえで、コンテンツの有効化を選択します。
出所が不明なファイルでは、安易にマクロを有効化しないことが基本です。
マクロは業務の自動化に便利な一方で、外部から入手したファイルには意図しない処理が含まれる可能性があります。
【操作のポイント】共有フォルダーで運用する場合は、作成者と更新履歴を明確にして信頼性を保ちます。
シート名と範囲指定の確認
実行時エラーが出る場合は、コード内のシート名と実際のシート名の違いを確認します。
全角半角の違い、スペース、記号も別の文字として扱われます。
また、保護されたシートではセル内容を変更できないため、必要に応じて保護設定も確認します。
【操作のポイント】エラー画面でデバッグを選ぶと、問題が起きた行が黄色で表示され、修正箇所を探しやすくなります。
実行前のバックアップ
クリアボタンのテスト中は、元データを別ファイルへコピーしてから作業する方法が安全です。
処理後すぐであればCtrlキーとZキーで戻せる場合もありますが、VBAによる操作は元に戻す機能が使えないことがあります。
重要な入力データを扱うなら、クリア前の確認メッセージとバックアップを組み合わせる運用が安心です。
【操作のポイント】完成したマクロは空のコピーで複数回試し、意図しないセルが消えないことを確認してから本番へ使います。
まとめ エクセルのクリアボタンを作る方法
Excelのクリアボタンは、Rangeで消去対象を指定し、ClearContentsを使ったVBAマクロを作成して図形やフォームコントロールへ割り当てることで作成できます。
入力欄だけを一括消去したい場合は、書式を残せるClearContentsを選ぶことが基本です。
数式を残したい表ではSpecialCellsを使い、直接入力した定数だけを消去する方法が役立ちます。
誤操作を避けるには、確認メッセージを表示し、ボタン名や配置で消去対象を分かりやすく伝えましょう。
まずは小さな入力表でクリアマクロを試し、問題なく動くことを確認してから日報や申請書などの実務ファイルへ応用してみてください。