シクミヤ>ブログ>Excel・VBA>Excelに「押すだけ」のボタンを付ける方法 ― いつもの手作業をマクロのボタン1つにする

Excelに「押すだけ」のボタンを付ける方法 ― いつもの手作業をマクロのボタン1つにする

シクミヤの福田です。当記事では、エクセルのシートにボタンを置いてマクロを登録する方法と、押せないときの直し方を解説します。

この記事でわかること
  • ボタンを付ける5つの手順
  • 手作業をボタン1つにする例とコード
  • ボタンが押せないときの直し方
  1. ボタン1つで変わること
  2. マクロの作り方は2つ
  3. ボタンを付ける5つの手順
  4. ボタンが押せないときの直し方
  5. どのボタンを使うか
  6. よくある質問
  7. まとめ

ボタン1つで変わること

今まで5回の操作を毎回くり返すコピー → 一覧を開く → 最後の行を探す → 貼り付け → 入力欄を消す
ボタンを付けると入れて、押すだけ次に空いている行へ自動で入り、入力欄も空になる

備品の購入を記録する、次の表を例にします。黄色が手で入れる所、緑がボタンで入る所です。

備品記録.xlsm /「入力」シート(ここに入れて押す)

ABC
1日付11/5
2品名封筒
3金額800一覧に追加

備品記録.xlsm /「一覧」シート(押したあと)

ABC
1日付品名金額
211/4コピー用紙1,200
311/4トナー6,500
411/5封筒800
4行目が、ボタンで入った行。例の値は架空です

ボタン以外の方法もふくめた選び方は「エクセル自動化の方法5つ」にまとめています。

マクロの作り方は2つ

記録で作る
  • 操作をそのまま覚えさせる
  • コードを書かない
  • 毎回同じセルを使う作業に向く
コードを貼る
  • 下のコードをコピーして使う
  • 「次に空いている行」を探せる
  • 行が増える作業に向く
記録したマクロは、記録した範囲にしか働かない。行が増える表はコードを使う

記録で作るとき

① 記録を始める[開発]→[マクロの記録]
② いつもの操作押し間違いも記録される
③ 記録を止める[記録終了]を押す

コードを貼るとき

例の表なら、次のコードをそのまま使えます。元のファイルをコピーしてから試してください。

コードを見る(コピーして使えます)
Sub AddRecord()
    Dim nextRow As Long
    With Worksheets("入力")
        If WorksheetFunction.CountA(.Range("B1:B3")) < 3 Then  ' 空欄があれば止める
            MsgBox "空いている欄があります"
            Exit Sub
        End If
        nextRow = Worksheets("一覧").Cells(Rows.Count, "A").End(xlUp).Row + 1  ' 次に空いている行
        Worksheets("一覧").Cells(nextRow, "A").Value = .Range("B1").Value  ' 日付
        Worksheets("一覧").Cells(nextRow, "B").Value = .Range("B2").Value  ' 品名
        Worksheets("一覧").Cells(nextRow, "C").Value = .Range("B3").Value  ' 金額
        .Range("B1:B3").ClearContents  ' 入力欄を空にする
    End With
End Sub
2回押しても、二重に入りません。1回目で入力欄が空になり、2回目は空欄を見つけて止まるためです。

ボタンを付ける5つの手順

  1. [開発]タブを出す

    最初は隠れています。[ファイル]→[オプション]→[リボンのユーザー設定]で[開発]にチェックを入れます。

  2. マクロを入れる

    記録で作るか、Alt+F11 →[挿入]→[標準モジュール]にコードを貼ります。

  3. ボタンを置く

    [開発]→[挿入]→ フォームコントロールの[ボタン]を選び、シートをクリックします。

    備品記録.xlsm - Excel
    ホームデータ開発
    マクロ挿入
    「開発」タブの「挿入」を押す(画面のイメージ)
  4. マクロを選ぶ

    開いた画面で AddRecord を選び、OKを押します。

    マクロの登録
    マクロ名AddRecord
    OK
    画面の名前は版により「マクロの割り当て」(画面のイメージ)
  5. 文字を変えて .xlsm で保存する

    ボタンを右クリック →[テキストの編集]で、「一覧に追加」のように直します。保存は「Excel マクロ有効ブック」を選びます。

1ボタンの文字は動きで書く「実行」より「一覧に追加」
2入力欄の近くに置く別のシートまで探しに行かない
3押す前に保存するマクロを動かすと[元に戻す]が効かなくなる
現場で使い続けるための3つ

ボタンが押せないときの直し方

起きていること直し方
押すと枠が出るだけ選択中の状態。ほかのセルを押してから、もう一度押す
「マクロが無効」と出る・黄色いバーが出る信頼できるファイルなら[コンテンツの有効化]を押す
赤いバーが出る(メールやダウンロードのファイル)信頼できるファイルだけ、プロパティの[ブロック解除]にチェック
保存し直したら、ボタンが動かない.xlsx にはマクロを保存できない。.xlsm で作り直す
押してもエラーで止まる(保護したシート)シートの保護を外す。保護したままだとマクロも書き込めない
ブラウザやスマホで押しても動かないパソコン版のExcelで開く
ActiveXのボタンが動かない[デザインモード]をオフにする。会社の設定で止まることもある
上から順に確かめる

会社のパソコンでマクロが止められているときは、担当の部署に確かめます。使えないなら、関数やPower Queryで済まないかを先に考えます。

どのボタンを使うか

フォームのボタン図形
作りがいちばん簡単作り方四角を描いて右クリックで登録
標準のボタンの形見た目色や形を自由に変えられる
まずはこちら向く場面目立たせたいとき
ActiveXのボタンはMacで使えず、会社の設定で止められることもある。迷ったらフォームのボタン

よくある質問

登録したマクロを変えるには?

ボタンを右クリックして[マクロの登録]を選び、別のマクロを選び直します。

図形をボタンの代わりにできますか?

できます。四角形などの図形を描いて右クリックし、[マクロの登録]を選びます。

ボタンを印刷に出さないようにできますか?

できます。ボタンを右クリックして[コントロールの書式設定]を開き、[プロパティ]の[オブジェクトを印刷する]のチェックを外します。

記事のコードはExcelで動作を確かめましたか?

当記事を書いたパソコンにはExcelがないため、公式の説明と計算の追いかけで確かめました。実際に動かしてはいないので、必ずコピーしたファイルで試してください。

まとめ

  • [開発]→[挿入]→[ボタン]で置き、マクロを登録するだけで押して動く
  • 毎回同じセルなら記録、行が増える表ならコードで作る
  • 保存は必ず .xlsm。.xlsx ではマクロが残らない
  • 押せないときは、選択中か、マクロの無効か、保存の形式から確かめる
参考にした公式ページ

福田 航 (記事一覧)

合同会社シクミヤ 代表 / 業務コンサルタント

エステサロンチェーン、通信、IT決済と、業種の違う大手の現場で業務改善に携わってきました。属人化の解消や業務の効率化・自動化が専門です。2026年7月に合同会社シクミヤを設立し、中小企業の「攻めのIT顧問」として、相談から作るところまで引き受けています。

関連記事