5、VBAによるマクロの作成(応用編)

5−3、マクロのいろいろな起動方法


これまで、マクロの実行は「ツール」メニューの中の「マクロ」メニューの中から実行してきましたが、他にもいろいろな方法があります。

ボタンによるマクロの起動

例)

※ここでの例は他の例文とのつながりはありません。新規ファイルを用意してください。

シート上にボタンを作成し、そのボタンが押された時に実行するという場合を紹介します。

  1. まず下のマクロを記述して下さい。
    Sub
    Test()
      MsgBox "ボタンによるマクロの実行"

    End Sub
     
  2. 次にVB Editorから、Excelに戻り、シート上に以下の手順でマクロ実行用のボタンを作成します。
    「表示」メニュー→「ツールバー」→「フォーム」の順にクリックしフォーム作成用のツールバーを表示させます。(下図参照)

    下図の赤丸のついたボタンをクリックし、シート上の適当な位置にマウスをドラッグしてボタンを作成します。
        
     
    ボタンができた段階で「マクロの登録」ウィンドウが表示されるので、「Test」を選択し、「OK」をクリックしてください。これで、ボタンへのマクロ登録は完了です。
     
  3. それでは、うまく実行されるか試してみましょう。
    一度ボタン以外の部分(セル)をクリックし、ボタンの選択を解除して下さい。
    次にマウスカーソルをボタンの上に重ね、指マークに変わることが確認できたら、ボタンをクリックしてみます。
    マクロが起動し、メッセージが表示されれば、成功です。
     
    これを利用すれば、希望のマクロプログラムをボタンクリックで実行させることができるようになります。
     

サブルーチンによる起動

例)

Private Sub SubR1()
  Range("B2") = "サブルーチンのテスト"
End Sub
 
Private Sub SubR2()
  MsgBox "終了します"
End Sub
 
Sub MainR()
  Rtn = MsgBox("文字を入力しますか?", 4 ,"選択")
  
If Rtn = 6 Then
    
Call SubR1
  
Else
    
Call SubR2
  
End If
End Sub

【このコードの解説】

ファイルの開閉時に自動的に実行されるマクロ

Sub auto_open()
  (各種処理)
End Sub

例)
ファイルを開いた時にそれを知らせるメッセージを表示します。
Sub auto_open()
  MsgBox "ファイルが開かれました。"
End Sub