マクロ実行・別シート移動のエクセル「ボタン」の超簡単な作り方


エクセルで「ボタン」を作る方法は、次の3つがあります。

  1. フォームコントロール
  2. ActiveXコントロール
  3. クリップアート・オートシェイプ

多くのホームページでは、エクセルでボタンを作る場合には1番目の「フォームコントロール」を使った方法が紹介されています。

でも、私が使ってみた感じでは、3番目の「クリップアート・オートシェイプ」を使う方法が、手軽でした。
しかも、単に他のシートなどにリンクを貼るだけであれば、マクロを書く必要さえありません。

そこで、今回は、クリップアート・オートシェイプを使ったボタンの作り方を紹介します。

ボタン作成の基本

まずは、一番簡単な「オートシェイプを使って別シートへのハイパーリンクボタンを作る」方法を紹介します。

オートシェイプを使ったリンクボタンの作り方

1.オートシェイプを挿入・配置する

ボタンにしたいオートシェイプを挿入し、好きな場所に配置します。

button_1_1

デザインは何でもいいのですが、例えば、下記のデザインはボタンに向いていると思います。

button_1_2
2.テキストを挿入する

オートシェイプ上で右クリックをして「テキストの編集」を選びます。

button_1_3

文字を入力できるようになるので、好きな文字を入力します。

button_1_4

リボンを操作することで、文字を真ん中に配置することもできますし、文字のフォントサイズを変更することもできます。

button_1_5
3.ハイパーリンクを設定する

オートシェイプ上で右クリックをして「ハイパーリンク」を選びます。

button_1_6

ボタンを押したときに、表示させたいシート・セルを選択します。

button_1_7

これで、ボタンのハイパーリンクの設定ができました。

ボタンを押すと、指定したシート・セルに移動できるようになります。

button_1_8

なお、ハイパーリンクを登録してしまうと、(当たり前ですが)ボタンの上で左クリックをするとリンク先に飛んでしまいますので、左クリックでボタンを選択することができません。

ボタンを修正・移動したい場合は、右クリックをしてボタンを選択状態にしてから操作をしてください。

オートシェイプを使ったマクロボタンの作り方

次に、オートシェイプを使ってマクロを起動するボタンを作ります。

1.オートシェイプの作成・配置、テキストの入力

まず、先ほどと同じように、オートシェイプを使ってボタンを作ります。

button_1_9
2.オートシェイプにマクロを登録する

あらかじめ、登録したいマクロを作っておきます。

例えば、次のようなCSV保存のマクロを作成しておきます。

Sub csv保存()
  Set iWS = ActiveSheet
  Set iBook = ActiveWorkbook
  
  Workbooks.Add
  Set oWS = ActiveSheet
  Set oBook = ActiveWorkbook
  
  iWS.Range("A6").CurrentRegion.Copy oWS.Range("A1")

  Application.DisplayAlerts = False
  oBook.SaveAs FileFormat:=xlCSV, CreateBackup:=False, Filename:=iBook.Path & "\CSV出力ボタンによる出力.csv"
  oBook.Close
  Application.DisplayAlerts = True
  
  iWS.Activate
  
  MsgBox "CSVで保存しました"

End Sub

そして、オートシェイプの上で右クリックをして「マクロの登録」を選びます。

button_1_10

ボタンを押したときに、起動させたいマクロを選びます。

button_1_11

これで、マクロの登録は完了です。
ボタンを押せばマクロが起動し、A6セルを含む表が自動でCSV形式で保存されます。

ボタンのデザインを変更して、好みのデザインにしたい場合

任意のオートシェイプ・画像をボタンにすることができますので、どんな画像でもボタンにすることができます。

例えば、次のような画像でもボタンになります。

button_1_12

様々なボタンとマクロの実例

例えば、次のようなボタンは、非常に簡単なマクロで作成することができます。

ボタンを押すと数字が増えるカウンター

Sub counter()
  Range("A5").Value = Range("A5").Value + 1
End Sub
button_1_13

ボタンを押すと現在時刻が入る打刻機

Sub get_time()
  Range("A5").Value = Now
End Sub
button_1_14

位置を固定する

位置を固定するためには、図を選択している状態で「図形の調整」から「セルに合わせて移動やサイズ変更をしない」を選択します。

button_1_15

そうすると、セルを変化させても、ボタンの場所は変化しません。

まとめ

ちょっとしたボタンを作るのであれば、オートシェイプや画像を挿入したものをボタンにしましょう。
作るのも簡単ですし、見た目を整えるのも簡単です。

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。