excel

【Excel】エクセルにリセットボタンを作る(マクロなし・VBA・一括クリア・設定手順)方法

当サイトでは記事内に広告を含みます

Excelで入力データをまとめてリセットしたいとき、毎回手動でセルを選んで削除するのは手間がかかりますよね。

そんなときに便利なのが、シート上に配置できる「リセットボタン」です。

ボタンをクリックするだけで指定したセルの内容を一括クリアできれば、作業効率は格段に上がるでしょう。

この記事では、【Excel】エクセルにリセットボタンを作る(マクロなし・VBA・一括クリア・設定手順)方法について、初心者の方にもわかりやすく丁寧に解説しています。

マクロなしで実現できる方法から、VBAを使った本格的なリセットボタンの作り方まで、それぞれの手順を順番に確認していきましょう。

Excelのリセットボタンは「マクロなし」と「VBA」の2通りで作れる

それではまず、Excelのリセットボタンを作る方法の全体像について解説していきます。

結論からお伝えすると、Excelでリセットボタンを作る方法は大きく2種類に分けられます。

一つ目は、マクロを使わずにExcelの標準機能だけで実現する方法。

二つ目は、VBA(Visual Basic for Applications)を使ってボタンにクリア処理を割り当てる方法です。

それぞれの特徴を理解したうえで、自分の用途に合った方法を選ぶとよいでしょう。

マクロなしの方法は手軽ですが機能に制限があり、VBAを使う方法は設定の手間はかかるものの、より柔軟で強力なリセット機能を実現できます。

以下の表に、2つの方法の主な違いをまとめました。

項目 マクロなし VBA使用
難易度 低い 中程度
ボタンの配置 ハイパーリンク等で代替 フォームコントロールボタン
クリア対象の指定 限定的 自由に指定可能
一括クリアの精度 やや低い 高い
ファイル保存形式 通常のxlsx xlsmが必要

マクロなしの方法では、Excelの「データの入力規則」や「ジャンプ機能」を組み合わせることで、ある程度のクリア操作を効率化できます。

一方、VBAを使う方法では、ボタンをクリックした瞬間に指定したセル範囲の値をすべてクリアするという動作を自動化できるため、業務での活用シーンに特に向いているといえます。

どちらの方法も、以降のセクションで具体的な設定手順を丁寧に解説していきます。

マクロなしでExcelにリセット機能を設定する手順

続いては、マクロを使わずにリセット機能を設定する方法を確認していきます。

マクロなしでリセットボタンに近い機能を作るには、「名前の定義」と「ジャンプ機能」を組み合わせる方法がよく使われます。

また、セルにハイパーリンクを設定して特定のマクロの代わりに使うアイデアもありますが、完全な自動クリアには向きません。

ここでは、現実的かつ手軽に使える「入力セルを素早く選択してDeleteキーで一括クリアする」方法をご紹介します。

クリア対象のセル範囲に名前を定義する

まず、クリアしたいセル範囲に「名前」を定義しておく方法です。

たとえば、B2からB10までの入力欄をリセットしたい場合、その範囲を選択した状態でExcelの「名前ボックス」(左上の欄)に任意の名前を入力してEnterキーを押します。

例:B2:B10を選択 → 名前ボックスに「入力範囲」と入力 → Enterキーで確定

こうすることで、次回からは名前ボックスに「入力範囲」と入力するだけで、該当セルを瞬時に選択できます。

あとはDeleteキーを押せば、対象セルの値を一括クリアすることが可能です。

ジャンプ機能で入力セルだけを素早く選択する

Excelには「ジャンプ機能」という便利な機能があり、特定の条件に合うセルだけをまとめて選択できます。

操作手順は、キーボードで「Ctrl+G」を押してジャンプダイアログを開き、「セル選択」ボタンをクリック。

その中から「定数」や「空白以外のセル」などを選ぶことで、値が入力されているセルだけを一度に選択できます。

選択後にDeleteキーを押せば、入力されていた値がすべて削除されるため、マクロなしでも効率的な一括クリアが実現します。

図形やテキストボックスでリセットボタン風のデザインにする

マクロなしでもボタンのような見た目を作ることは可能です。

「挿入」タブから図形(例えば角丸四角形)を挿入し、「リセット」などのテキストを入力してボタン風に見せることができます。

ただし、マクロなしの場合はこの図形をクリックしても自動でクリア処理は走りません。

あくまで視覚的なガイドとして配置し、クリア操作はショートカットキーや名前ボックスで行う運用になるでしょう。

それでもフォームの見た目を整えたいシーンでは役立つテクニックです。

VBAを使ってリセットボタンを作る設定手順

続いては、VBAを使った本格的なリセットボタンの作り方を確認していきます。

VBAを使えば、ボタンをクリックするだけで指定したセル範囲の値を瞬時に一括クリアできる本格的なリセットボタンが作れます。

設定の流れは大きく「VBAコードの記述」「ボタンの挿入」「ボタンへのマクロ登録」の3ステップです。

VBAエディタを開いてリセット用のコードを書く

まず、ExcelでVBAエディタを開く必要があります。

キーボードで「Alt+F11」を押すと、VBAエディタ(Visual Basic for Applications)が起動します。

左側のプロジェクトツリーから対象のシートまたは「標準モジュール」を右クリックし、「挿入」→「モジュール」を選択してください。

開いたモジュールに、以下のようなコードを記述します。

Sub リセット()
Range(“B2:B10”).ClearContents
End Sub

※「B2:B10」の部分は、クリアしたいセル範囲に変更してください。

ClearContentsはセルの値だけを削除し、書式(色や罫線など)はそのまま残す便利なVBAメソッドです。

値も書式もすべてクリアしたい場合は「Clear」を使うとよいでしょう。

フォームコントロールでボタンをシートに挿入する

VBAコードが書けたら、次はシート上にボタンを配置します。

「開発」タブを表示し、「挿入」→「フォームコントロール」の中にある「ボタン(フォームコントロール)」を選んでシート上にドラッグで描画します。

「開発」タブが表示されていない場合は、「ファイル」→「オプション」→「リボンのユーザー設定」から「開発」にチェックを入れることで表示できます。

フォームコントロールのボタンは、ActiveXコントロールのボタンとは異なり、設定がシンプルで初心者にも扱いやすいため、リセットボタンの作成には特におすすめです。

ボタンを描画すると自動的に「マクロの登録」ダイアログが表示されます。

先ほど作成した「リセット」というマクロ名を選択し、「OK」をクリックすれば設定完了です。

ボタンのラベルと見た目を整えて完成させる

ボタンを配置したら、見た目を整えましょう。

ボタンを右クリックして「テキストの編集」を選ぶと、ボタン上のテキストを自由に変更できます。

「リセット」「クリア」「初期化」など、用途に合わせたわかりやすいラベルを設定するとよいでしょう。

ボタンのサイズや位置は、ドラッグで自由に調整できます。

最後にファイルを保存する際は、「Excelマクロ有効ブック(.xlsm)」形式で保存することを忘れずに。

通常の「.xlsx」形式ではVBAコードが保存されないため注意が必要です。

リセットボタンをさらに便利にする応用テクニック

続いては、リセットボタンをより実用的にするための応用テクニックを確認していきます。

基本的なリセットボタンが完成したら、さらに一歩進んだ使い方を取り入れることで、Excelフォームの使い勝手を大幅に向上させることができます。

複数のセル範囲や別シートも一括クリアする

リセット処理の対象を複数のセル範囲に広げることも簡単です。

VBAのClearContentsは、カンマで区切ることで複数の範囲をまとめて指定できます。

Sub リセット()
Range(“B2:B10,D2:D10,F2:F5”).ClearContents
End Sub

※複数の離れたセル範囲もカンマで区切って一度にクリアできます。

また、別のシートのセルをクリアしたい場合は、以下のように記述します。

Worksheets(“Sheet2”).Range(“B2:B10”).ClearContents

このようにシート名を指定することで、別シートのデータも一括クリアできるようになります。

確認メッセージを表示してから実行する

誤ってリセットボタンを押してしまうリスクを避けるために、実行前に確認ダイアログを表示させる方法があります。

Sub リセット()
Dim 確認 As Integer
確認 = MsgBox(“入力内容をリセットしますか?”, vbYesNo + vbQuestion, “確認”)
If 確認 = vbYes Then
Range(“B2:B10”).ClearContents
End If
End Sub

このコードでは、「はい」を選んだときだけクリア処理が実行されます。

大切なデータを誤削除するリスクを減らせるため、業務用フォームや共有ファイルには特に設定しておきたい安全対策です。

リセット後に特定のセルにカーソルを移動させる

クリア処理が終わった後、自動的に入力開始位置(たとえばB2セル)にカーソルを移動させると、より使いやすいフォームになります。

Sub リセット()
Range(“B2:B10”).ClearContents
Range(“B2”).Select
End Sub

クリア後すぐに入力を再開できるため、データ入力の流れがスムーズになります。

小さな工夫ですが、実際の業務での使い勝手に大きく影響するポイントです。

まとめ

この記事では、【Excel】エクセルにリセットボタンを作る(マクロなし・VBA・一括クリア・設定手順)方法について詳しく解説しました。

マクロなしの方法では、名前の定義やジャンプ機能を活用することで、手軽に一括クリアの操作効率を高めることができます。

VBAを使った方法では、フォームコントロールのボタンにマクロを登録することで、ワンクリックで指定セルを一括クリアできる本格的なリセットボタンが完成します。

さらに、複数セル範囲の指定・確認メッセージの表示・クリア後のカーソル移動といった応用テクニックを取り入れることで、より実用的なExcelフォームに仕上げることができるでしょう。

自分の用途や作業環境に合わせて、最適な方法を選んでみてください。

Excelのリセットボタンをうまく活用して、日々のデータ入力作業をより快適に、そして効率的に進めていきましょう。