大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、マクロを実行する4つの方法をご紹介します。実行する方法は、「ボタン」、「ショートカット」、「イベント」、「リボン」という感じです。状況に応じて使い分けると便利です。マクロの実行方法をマスターしていきましょう。

はじめに

この記事では、マクロを実行する4つの方法について、ご紹介します。

方法は、次のとおりです。

  • ボタンから実行
  • ショートカットキーから実行
  • イベントで実行(ブックとシート)
  • リボンから実行

という感じです。

実行したい状況に応じて、マクロの実行方法を使い分けると、効率的です。

マクロの4つの実行方法をマスターしていきましょう。

では、マクロを実行する4つの方法について、解説していきます。

この記事を読むメリット

  • マクロを実行する4つの方法がわかります

目次

ボタンを使って実行する

ボタンを使って実行する方法でやってみます。

図形にマクロを登録する方法です。

図形にマクロを登録

図形にマクロを登録していきます。

図形にマクロを登録

図形で、右クリックします。

挿入した図形で、右クリックします

右クリックメニューから「マクロの登録」を選択します。

右クリックメニューから「マクロの登録」を選択します

登録したいマクロを選択して、OKをクリックします。

登録したいマクロを選択して、OKをクリックします

これで、図形にマクロを登録できました。

では、実行してみます。

ボタンをクリックでマクロを実行

登録したマクロはこちらです。

Sub TEST1()
    
    MsgBox "実行できました"
    
End Sub

クリックしてみます。

図形をクリックすると、登録したマクロを実行できます

図形をクリックして、マクロを実行できました。

「フォームコントロール」のボタンにマクロを登録

「フォームコントロール」のボタンにマクロを登録することもできます。

「フォームコントロール」のボタンを使うと、ボタンを押した際の動作があるので、押した感があります。

「フォームコントロール」のボタンからマクロを実行する方法について、詳細はこちらにまとめています。

ショートカットを使って実行する

ショートカットを使って実行する方法をやってみます。

実行する頻度が高いマクロを使う際に便利です。

マクロにショートカットキーを割り当てる

「マクロのオプション」を使えば簡単にショートカットキーを割り当てることができます。

ショートカットキーにマクロを登録

「開発」タブ→「マクロ」をクリックします。

「開発」タブ→「マクロ」をクリックします

ショートカットキーを登録したいマクロを選択して、「オプション」を選択します。

ショートカットキーを登録したいマクロを選択します

登録したいキーを入力します。

登録したいキーを入力します

これで、ショートカットキーの割り当てが完了です。

こちらのマクロを登録しました。

登録したマクロ

Sub TEST1()
    
    MsgBox "実行できました"
    
End Sub

割り当てたショートカットキー「Ctrl + e」を押してみます。

「Ctrl + e」でマクロを実行してみる

「Ctrl + e」を押すとマクロを実行できます

マクロを実行できました。

ショートカットキーを割り当てることができていますね。

ショートカットキーの割り当てをVBAで自動化

ショートカットキーの割り当てが面倒で、VBAで自動化したい場合は「OnKey」が使えます。

ショートカットキーの割り当てを「OnKye」で自動化する方法について、詳細はこちらでまとめています。

「ブックイベント」を使って実行

「ブックイベント」を使ってマクロを実行してみます。

ブック起動時に実行

ブック起動時に実行する、というのをやってみます。

「ブックモジュール」でVBAコードを記述するのがポイントです。

「ブックモジュール」内で、「Workbook_Open」を挿入して、使います。

「Workbook_Open」を挿入する

「ブックモジュール」で「Workbook」を選択します。

「ブックモジュール」で「Workbook」を選択します

「ブックモジュール」で「Open」を選択します。

「ブックモジュール」で「Open」を選択します

「ブックモジュール」に「Workbook_Open」を作成できます。

「ブックモジュール」に「Workbook_Open」を作成できました

作成した「Workbook_Open」にVBAコードを記述していきます。

起動時に「メッセージ」を表示

簡単なコードで、起動時に「開きました」と表示してみます。

VBAコードは、こんな感じになります。

Private Sub Workbook_Open()
    
    MsgBox "開きました"
    
End Sub

VBE画面で見るとイメージが湧きやすいです。

ブックを開いたときに、メッセージを表示するVBAコードです

では、ブックを一旦閉じて、ブックを開いてみます。

ブックを開いてみる

ブックを開いたときに、メッセージを表示できました

ブックを開いたタイミングで、メッセージを表示できました。

こんな感じで、「ブックモジュール」で「Workbook_Open」を使うと、ブックの起動時にマクロを実行することができます。

「Workbook_Open」の実用例

起動時に実行する「Workbook_Open」の実用例として、

  • 起動時に特定シートに移動
  • 起動時にフォームを開く

といったものがあります。

ユーザーに最初に閲覧してほしいものを優先的に表示することができます。

起動時に実行する「Workbook_Open」の実用例について、詳細はこちらにまとめています。

「シートイベント」を使って実行する

「シートイベント」を使って、マクロを実行してみます。

「シートモジュール」内にVBAコードを記述するのがポイントです。

次のイベントを作成してみます。

  • ダブルクリック時に実行
  • 値の変更時に実行
  • 選択セルの変更時に実行

では、それぞれやってみます。

ダブルクリック時に実行

「シートモジュール」に「Worksheet_BeforeDoubleClick」を作成します。

「ダブルクリック」のイベントを作成

「シートモジュール」で「Worksheet」を選択します。

「シートモジュール」で「Worksheet」を選択します

「シートモジュール」で「BeforeDoubleClick」を選択します。

「シートモジュール」で「BeforeDoubleClick」を選択します

「Worksheet_BeforeDoubleClick」を作成できます。

「Worksheet_BeforeDoubleClick」を作成できました

この作成した「Worksheet_BeforeDoubleClick」内に、VBAコードを記述していきます。

ダブルクリックした際に、「実行しました」と表示するVBAコードを作成してみます。

ダブルクリック時にメッセージを表示

ダブルクリック時にメッセージを表示するVBAコードです。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    MsgBox "実行しました"

End Sub

VBE画面でみてみましょう。

ダブルクリック時にメッセージを表示するVBAコードです

「Sheet1」内であれば、どこをダブルクリックしても、メッセージを表示できます。

セルをダブルクリックしてみる

「Sheet1」の「B2」をダブルクリックすると、メッセージを表示できます

ダブルクリック時に、マクロを実行できました。

ダブルクリック時に値を転記

ダブルクリックのイベントの応用例として、「ダブルクリック時に転記」するがあります。

ダブルクリック時に値を転記する方法について、詳細はこちらでまとめています。

値の変更時に実行

「値の変更」時に実行したい場合は、「シートモジュール」で「Worksheet_Change」を使います。

「Worksheet_Change」をシートモジュールに作成します。

「シートモジュール」の値変更イベントを作成

「シートモジュール」で「Worksheet」を選択します。

「シートモジュール」で「Worksheet」を選択します

「シートモジュール」で「Change」を選択します。

「シートモジュール」で「Change」を選択します

「シートモジュール」に「Worksheet_Change」を作成できます。

「シートモジュール」に「Worksheet_Change」を作成できました

この作成した「Worksheet_Change」内に、VBAコードを記述していきます。

メッセージを表示してみる

値変更時に、「実行しました」のメッセージを表示してみます。

Private Sub Worksheet_Change(ByVal Target As Range)

    MsgBox "実行しました"

End Sub

VBE画面は、こんな感じになっています。

値変更時に、メッセージを表示してみます

では、セルの値を変更しまてみます。

「Sheet1」内であればどこでも実行されます。

「Sheet1」のセルの値を変更

「Sheet1」のセルを変更してみます。

「Sheet1」のセルを変更してみます

これで、マクロを実行できます。

マクロを実行できました

値の変更時に、マクロを実行できました。

値の変更時に値を転記する

値変更時のイベントの応用例として、値を変更した際に値を転記する、といった使い方もできます。

VLOOKUP関数をマクロで作った感じです。

値を変更した際に値を転記する方法について、詳細はこちらでまとめています。

「Change」イベントで値を入力ときの注意

「Change」イベントで値を入力する場合は、「無限ループ」になる場合があります。

「無限ループ」を回避するには「EnableEvents」でイベントを無効にします。

「EnableEvents」でイベントを無効にする方法について、詳細はこちらでまとめています。

選択セルの変更時に実行

「選択セルの変更」時に実行するには、「シートモジュール」で「Worksheet_SelectionChange」を使います。

「Worksheet_SelectionChange」を作成していきます。

選択セル変更時に実行するイベントを作成

「シートモジュール」で「Worksheet」を選択します。

「シートモジュール」で「Worksheet」を選択します

「シートモジュール」で「SelectionChange」を選択します。

「シートモジュール」で「SelectionChange」を選択します

「Worksheet_SelectionChange」を作成できます。

「Worksheet_SelectionChange」を作成できました

作成した「Worksheet_SelectionChange」内に、VBAコードを記述していきます。

選択セル変更時にメッセージを表示してみる

「選択セル変更」時に、「実行しました」のメッセージを表示してみます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    MsgBox "実行しました"
    
End Sub

VBE画面は、こんな感じになっています。

選択セル変更時に、メッセージを表示してみます

選択セルを変更したときに、マクロを実行できます。

「Sheet1」内で選択セルを変更すれば、どこでも実行できます。

選択セルを変更してみる

選択セルを変更したときに、マクロを実行できました

「選択セルの変更」時に、マクロを実行できました。

選択セルを強調する

選択セルの変更時のイベントを使えば、「選択セル」を強調することができます。

方法としては、「条件付き書式」と「選択セルの変更時のイベント」を組み合わせる、という感じです。

選択セルを強調する方法について、詳細はこちらでまとめています。

リボンからマクロを実行する

リボンからマクロを実行する、というのをやってみます。

リボンにマクロを登録する

リボンに登録したいマクロを作成しておきます。

マクロを作成しておく

マクロを作成しておきます

リボンの設定をしていきます。

リボンをカスタマイズする画面を表示

リボンの空白のところで「右クリック」します。

リボンの空白のところで「右クリック」します

「リボンのユーザー設定」を選択します。

「リボンのユーザー設定」を選択します

リボンをカスタマイズする画面が表示されます。

リボンをカスタマイズする画面が表示されます

リボンのタブを追加していきます。

「新しいタブ」を追加

「新しいタブ」を選択します。

「新しいタブ」を選択します

「新しいタブ」が追加されます。

「新しいタブ」が追加されます

「新しいタブ」が追加されています。

「新しいタブ」が追加されています

「新しいタブ」を追加できました。

追加したタブにマクロを追加してみます。

マクロを登録

「コマンドの選択」から「マクロ」を選択します。

「コマンドの選択」から「マクロ」を選択します

作成したマクロが表示されます。

作成したマクロが表示されます

「追加」をクリックしてマクロをリボンに登録します。

「追加」をクリックしてマクロをリボンに登録します

マクロをリボンに登録できます。

マクロをリボンに登録できました

マクロが「リボン」に登録されています。

マクロが「リボン」に登録されています

マクロが「リボン」に登録されていますね。

リボンをクリックすると、登録されているマクロを実行できます。

リボンからマクロを実行

リボンをクリックすると、登録されているマクロを実行できます

リボンからマクロを実行できました。

「別ブック」でリボンのマクロを共有する

「別ブック」でもリボンのマクロを共有したい場合は、マクロを「アドイン化」する方法が使えます。

別ブックでもリボンのマクロを共有化する「アドイン化」について、詳細はこちらでまとめています。

「別のPC」でリボンのマクロを共有する

リボンの設定は「同じユーザー内」です。

リボンの設定を「別のPC」でも使いたい場合は、リボン設定の「エクスポート」と「インポート」が使えます。

リボンの設定を「別のPC」で使う方法について、詳細はこちらでまとめています。

おわりに

この記事では、マクロを実行する4つの方法について、ご紹介しました。

4つの方法は、次のとおりです。

  • ボタンから実行
  • ショートカットキーから実行
  • イベントで実行(ブックとシート)
  • リボンから実行

という感じです。

実行したい状況に応じて、マクロの実行方法を使い分けると、効率的です。

マクロの4つの実行方法をマスターしていきましょう。

参考になればと思います。最後までご覧くださいましてありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す