Excelでマクロを実行し、マクロボタンを作成する方法

  • これを共有
Michael Brown

このチュートリアルでは、Excelでマクロを実行するさまざまな方法について説明します。リボンやVB Editorから、独自のキーボードショートカットで、そして独自のマクロボタンを作成して、マクロを実行します。

Excelのマクロを実行することは、経験豊富なユーザーにとっては簡単なことですが、初心者にとってはすぐに理解できないかもしれません。 この記事では、マクロを実行するいくつかの方法を学び、そのいくつかは、Excelワークブックの操作方法を完全に変える可能性があります。

    Excelのリボンからマクロを実行する方法

    ExcelでVBAを実行する最も速い方法の1つは、マクロを実行することです。 デベロッパー VBAのコードを扱ったことがない場合は、まずDeveloperタブをアクティブにします。 そして、以下の操作を行います。

    1. について デベロッパー タブで コード グループをクリックします。 マクロ または、Alt + F8 のショートカットを押します。
    2. 表示されたダイアログボックスで、目的のマクロを選択して 実行 .

    ヒント:Excel リボンに[開発]タブが追加されていない場合は、Alt + F8 キーを押して、[開発]タブを開いてください。 マクロ ダイアログを表示します。

    カスタムキーボードショートカットでマクロを実行する

    特定のマクロを定期的に実行する場合、そのマクロにショートカットキーを割り当てることができます。 ショートカットは、新しいマクロの記録中および既存のマクロに追加できます。 そのためには、次の手順を実行します。

    1. について デベロッパー タブで コード グループをクリックします。 マクロ .
    2. での マクロ をクリックすると、ダイアログボックスが表示されます。 オプション .
    3. があります。 マクロオプション ダイアログボックスが表示されます。 ショートカット キーボックスに、ショートカットに使用する任意の大文字または小文字を入力し、[OK]をクリックして変更を保存します。
      • 小文字の場合、ショートカットはCtrl + 文字です。
      • 大文字の場合、ショートカットは Ctrl + Shift + letter です。
    4. を閉じます。 マクロ のダイアログボックスが表示されます。

    ヒント:常に使用することをお勧めします。 大文字 マクロのキーコンビネーション(Ctrl + Shift + 文字)は、Excelのデフォルトのショートカットより優先されません。 たとえば、Ctrl + fをマクロに割り当てた場合、Excelのショートカットを呼び出す機能は失われます。 検索と置換 ダイアログを表示します。

    一度ショートカットを割り当てれば、そのキーの組み合わせを押すだけでマクロが実行されます。

    VBAエディタからマクロを実行する方法

    Excelのプロを目指すなら、ExcelだけでなくVisual Basic Editorからマクロを起動する方法をぜひ知っておいてください。 思ったよりずっと簡単ですよ :)

    1. Alt + F11キーを押して、Visual Basic Editorを起動します。
    2. での プロジェクト・エクスプローラ のウィンドウで、マクロを含むモジュールをダブルクリックして開いてください。
    3. での コード ウィンドウの右側に、モジュールに含まれるすべてのマクロが表示されます。 実行したいマクロの任意の位置にカーソルを置き、次のいずれかを実行します。
      • メニューバーで 実行 > Run Sub/UserForm .
      • ツールバーで マクロの実行 ボタン(緑の三角形)をクリックします。

      または、以下のショートカットのいずれかを使用することもできます。

      • F5キーを押すと、コード全体が実行されます。
      • F8キーを押すと、各コード行を個別に実行します。 マクロのテストやデバッグをする際に非常に便利です。

    Excelをキーボードで操作するのが好きな方は、こちらのチュートリアルが便利です。

    エクセルでマクロボタンを作成する方法

    従来のマクロの実行方法は難しいものではありませんが、VBAの経験のない人とワークブックを共有する場合、どこに目を向ければいいのかわからないという問題があります。 誰でも簡単に直感的にマクロを実行するには、独自のマクロボタンを作成することです。

    1. について デベロッパー タブで コントロールズ グループをクリックします。 インサート を選択し ボタン コントロールズより .
    2. ワークシートの任意の場所をクリックします。 マクロを割り当てる ダイアログボックスを表示します。
    3. ボタンに割り当てたいマクロを選択し よっしゃー .
    4. ボタンがワークシートに挿入されます。 ボタンのテキストを変更するには、ボタンを右クリックして、次のコマンドを選択します。 テキストを編集する をクリックすると、コンテキストメニューが表示されます。
    5. などのデフォルトテキストを削除します。 ボタン1 オプションで、テキストを太字や斜体にすることができます。
    6. 文字がボタンに収まらない場合は、サイズ調整ハンドルをドラッグしてボタンコントロールを大きくしたり小さくしたりしてください。 終わったら、シート上の任意の場所をクリックして編集モードを終了します。

    マクロのボタンをクリックすると、以下のスクリーンショットのように、選択したセルにマクロが適用されます。

    ヒント:既存のボタンやスピンボタン、スクロールバーなどのフォームコントロールにマクロを割り当てることもできます。 その場合は、ワークシートに挿入されたコントロールを右クリックし マクロを割り当てる をポップアップメニューから選択します。

    グラフィックオブジェクトからマクロボタンを作成する

    残念なことに、ボタンコントロールの外観をカスタマイズすることはできません。 そのため、先ほど作成したボタンはあまり美しくありません。本当に美しいExcelマクロボタンを作成するには、図形、アイコン、画像、WordArtなどのオブジェクトを使用することができます。

    例として、図形をクリックすることでマクロを実行する方法を紹介します。

    1. について インサート タブで イラストレーション グループをクリックします。 シェイプス をクリックし、希望の形状(例:角の丸い長方形)を選択します。
    2. ワークシートで、図形オブジェクトを挿入したい場所をクリックします。
    3. たとえば、塗りつぶしや輪郭の色を変更したり、"Shape-Button "に定義されたスタイルを使用したりすることができます。 形状フォーマット 図形にテキストを追加するには、図形をダブルクリックし、テキストを入力します。
    4. マクロをシェイプにリンクさせるには、シェイプオブジェクトを右クリックして Assign Macro...マクロの割り当て をクリックし、目的のマクロを選択し よっしゃー .

    これで、ボタンのように見えるシェイプができ、クリックするたびに割り当てられたマクロが実行されるようになりました。

    クイックアクセスツールバーにマクロボタンを追加する方法

    ワークシートに挿入されたマクロボタンは見栄えがしますが、いちいちボタンを追加するのは手間がかかります。 お気に入りのマクロにどこからでもアクセスできるようにするには、クイックアクセスツールバーに追加します。 その方法は次のとおりです。

    1. クイックアクセスツールバーを右クリックし、以下を選択します。 その他のコマンド... をクリックすると、コンテキストメニューが表示されます。
    2. での コマンドは以下からお選びください。 を選択します。 マクロ .
    3. マクロの一覧から、ボタンに割り当てるマクロを選び、クリックします。 追加 選択したマクロは、右側のクイックアクセスツールバーのボタン一覧に移動します。

      この時点で、OKをクリックして変更を保存するか、以下で説明するいくつかのカスタマイズを行うことができます。

    4. マイクロソフトが追加したアイコンがマクロに適していない場合は 修正 をクリックすると、デフォルトのアイコンを別のものに置き換えることができます。
    5. での モディファイボタン のダイアログボックスで、マクロボタンのアイコンを選択します。 また、オプションで 表示名 マクロ名と異なり、ボタン名にはスペースを含めることができます。
    6. OKを2回クリックして、両方のダイアログウィンドウを閉じます。

    これで、マクロを実行するためのExcelボタンができました。

    Excelのリボンにマクロボタンを配置する方法

    Excelのツールボックスで頻繁に使用するマクロがいくつかある場合、次のようなカスタムリボングループを使用すると便利です。 マイ・マクロ で、そのグループに人気のあるマクロをすべてボタンとして追加します。

    まず、既存のタブまたは独自のタブにカスタムグループを追加します。 詳しい手順は、こちらをご覧ください。

    • カスタムリボンタブを作成する方法
    • カスタムグループの追加方法

    そして、以下の手順で、カスタムグループにマクロボタンを追加します。

    1. リボンを右クリックし、[ ]をクリックします。 リボンのカスタマイズ .
    2. 表示されたダイアログボックスで、次の操作を行います。
      • 右側のリストタブで、カスタムグループを選択します。
      • での コマンドは以下からお選びください。 を選択します。 マクロ .
      • マクロの一覧から、グループに追加するマクロを選択します。
      • をクリックします。 追加 ボタンをクリックします。

      この例では、新しいタブの名前を マクロ という名前のカスタムグループと 書式設定マクロ 下のスクリーンショットでは フォーマットヘッダ マクロをそのグループに

    3. マクロがカスタムリボングループに追加されました。 マクロボタンをより親しみやすい名前にするには、そのボタンを選択して リネーム :
    4. での リネーム ダイアログボックスに、任意の名前を入力します。 表示名 のボックス(ボタン名にはスペースが使用できます)で、マクロボタンのアイコンを選択します。 完了したら、[OK]をクリックします。
    5. クリック よっしゃー をクリックして変更を保存し、メインダイアログボックスを閉じます。

    例として、Excelのリボンに3つのマクロボタンを設置し、ボタンクリックでどれでも実行できるようにしました。

    ワークブックを開くときにマクロを実行する方法

    ワークブックを開いたときに、メッセージを表示したり、スクリプトを実行したり、特定の範囲をクリアしたりするために、自動的にマクロを実行したい場合があります。 これには2つの方法があります。

    Workbook_Open イベントを利用して自動的にマクロを実行する

    以下は、特定のワークブックを開くと自動的に実行されるマクロを作成する手順です。

    1. マクロを実行させたいワークブックを開く。
    2. Alt + F11キーを押して、Visual Basic Editorを起動します。
    3. プロジェクトエクスプローラーで、ダブルクリック 本作品 をクリックすると、そのコードウィンドウが表示されます。
    4. での 対象物 を選択し、"Code "ウィンドウの上のリストで ワークブック の空のプロシージャを作成します。 オープン イベントに、以下のスクリーンショットに示すような独自のコードを追加することができます。

    例えば、次のコードは、ワークブックを開くたびにウェルカムメッセージを表示します。

    Private Sub Workbook_Open() MsgBox "月次レポートへようこそ!" End Sub

    Auto_Openイベントでワークブックが開かれたときにマクロを起動する

    ワークブックを開くときに自動的にマクロを実行するもう一つの方法は、Auto_Open イベントを使用することです。 Workbook_Open イベントとは異なり、Auto_Open() は標準コードモジュールに配置されるべきです。 本作品 .

    以下は、そのようなマクロを作成する手順です。

    1. での プロジェクト・エクスプローラ を右クリックします。 モジュール をクリックします。 インサート > モジュール .
    2. での コード ウィンドウに、以下のコードを記述してください。

    ここでは、ワークブックを開いたときにメッセージボックスを表示するコードの実例を紹介します。

    Sub Auto_Open() MsgBox "月次レポートへようこそ!" End Sub

    注意! オートオープン イベントは非推奨ですが、後方互換性のために利用できます。 ほとんどの場合、このイベントは ワークブック_開く 詳しくは、「Workbook_Open vs. Auto_Open」をご覧ください。

    どちらのイベントを使用しても、コードを含むExcelファイルを開くたびにマクロが自動的に実行されます。 この例では、次のようなメッセージボックスが表示されます。

    Excelでマクロを実行する方法はたくさんあるので、あとは自分のニーズに合ったものを選ぶだけです。 それでは、また来週のブログでお会いしましょう。

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。