Excel アドインを VBA で作成する

このページでは、Excel アドインを VBA で作成する手順を記載します。

目次

注意

  • 確認した Excel のバージョンは Excel for Office 365 (16.0.11727.20222。Excel 2019 相当) です。将来のバージョンでは動作しない可能性があります。

単純な手順 (クイックツールバーに追加する)

1. VBA で関数を作成する

VBA で関数を1つ作成します。(「マクロの記録」で関数を作っても可)

「開発」タブ > 「Visual Basic」をクリック
「VBAProject」を右クリック後、「挿入」>「標準モジュール」を選択し、Module1 に関数を追加
Module1。コードは好きなもので可
Sub Test()
    MsgBox "Test"
End Sub

2. 1 を xlam ファイルで保存し、一度 Excel を再起動する

ファイルの種類を「Excel アドイン (*.xlam)」に変更し、C:\Users\ユーザー名\AppData\Roaming\Microsoft\AddIns に保存

※ Excel を再起動しないと 3 で項目が出てきません。

3. 「開発」タブ >「Excel アドイン」から 2 で保存したファイル名と同じものをチェック

「開発」タブ > 「Excel アドイン」をクリック
先程保存したファイルの名前の項目にチェックして「OK」をクリック

4. 「クイックアクセスツールバーのユーザー設定」>「その他のコマンド」からコマンドの種類を「マクロ」にして 1 で作成したマクロを選択

「クイックアクセスツールバーのユーザー設定」>「その他のコマンド」をクリック
「コマンドの選択」を「マクロ」に変更し、1 で作成した関数名 (今回は「Test」) を選択して「追加」をクリック後、「OK」をクリック

結果

クイックツールバーにボタンが追加された

メニューコマンドとして追加する手順

1. VBA で関数を作成する

「開発」タブ > 「Visual Basic」をクリック
「ThisWorkbook」にメニューコマンド追加用のコードを追加
ThisWorkbook
Const MENU_ITEM_NAME = "Test"

Private Sub Workbook_AddinInstall() ' アドインのインストール時
    With Application.CommandBars("Worksheet Menu Bar") ' メニューコマンド領域
        On Error Resume Next
        .Controls(MENU_ITEM_NAME).Delete ' メニュー項目追加
        On Error GoTo 0

        With .Controls.Add(Type:=msoControlButton, before:=.Controls.Count, temporary:=True)
            .Caption = MENU_ITEM_NAME ' メニュー名
            .OnAction = "Test" ' 実行する関数
            .Style = msoButtonIconAndCaption ' ボタンの外観 (https://docs.microsoft.com/ja-jp/office/vba/api/office.msobuttonstyle)
            .FaceId = 59 ' ボタンのアイコン (https://www.microsoft.com/en-us/download/details.aspx?id=50745)
        End With
   End With
End Sub

Private Sub Workbook_AddinUninstall() ' アドインのアンインストール時
   With Application.CommandBars("Worksheet Menu Bar")
      On Error Resume Next
      .Controls(MENU_ITEM_NAME).Delete ' メニュー削除
      On Error GoTo 0
   End With
End Sub
「VBAProject」を右クリック後、「挿入」>「標準モジュール」を選択し、Module1 に関数を追加
Module1。コードは好きなもので可
Sub Test()
    MsgBox "Test"
End Sub

2. 1 を xlam ファイルで保存し、一度 Excel を再起動する

ファイルの種類を「Excel アドイン (*.xlam)」に変更し、C:\Users\ユーザー名\AppData\Roaming\Microsoft\AddIns に保存

※ Excel を再起動しないと 3 で項目が出てきません。

3. 「開発」タブ >「Excel アドイン」から 2 で保存したファイル名と同じものをチェック

「開発」タブ > 「Excel アドイン」をクリック
先程保存したファイルの名前の項目にチェックして「OK」をクリック

結果

「アドイン」>「メニューコマンド」にメニューが追加された