Excel VBA | Offset × Resize × ForEach の 黄金 100 パターン集

VBA
スポンサーリンク

Excel アドインを「リボン追加」で UI 化する方法

アドイン (.xlam) を作ったら、リボンに専用タブやボタンを追加して、ユーザーがワンクリックで呼び出せるようにすると便利です。
以下に VBA でのリボン UI 化の流れを解説します。


手順概要

1. アドインを保存

  • すでに作成した .xlam ファイルを準備
  • このファイルに「リボン XML」を埋め込みます

2. リボン XML を追加

Excel のリボンは CustomUI XML で定義します。
これをアドインに埋め込むことで、専用タブやボタンを表示できます。

例:リボン XML

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <ribbon>
    <tabs>
      <tab id="tabGoldenPatterns" label="黄金パターン">
        <group id="grpSales" label="売上表">
          <button id="btnSalesTax" label="税込計算" onAction="RunSalesTax" />
          <button id="btnSalesSummary" label="月別集計" onAction="RunSalesSummary" />
        </group>
        <group id="grpAttendance" label="勤怠表">
          <button id="btnWorkHours" label="勤務時間集計" onAction="RunAttendanceSummary" />
        </group>
        <group id="grpStock" label="在庫表">
          <button id="btnStockCheck" label="在庫チェック" onAction="RunStockSummary" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
XSL

👉 ポイント

  • tab → 新しいタブを追加
  • group → タブ内のグループ
  • button → ボタンを配置、onAction に VBA マクロ名を指定

3. VBA 側でマクロを用意

XML の onAction に対応するマクロを作成します。

' 売上表:税込計算
Sub RunSalesTax(control As IRibbonControl)
    Call AddTaxColumn(GetTableRange(Range("A1")), 0.1)
End Sub

' 売上表:月別集計
Sub RunSalesSummary(control As IRibbonControl)
    Call MonthlySummary(GetTableRange(Range("A1")), Range("H2"))
End Sub

' 勤怠表:勤務時間集計
Sub RunAttendanceSummary(control As IRibbonControl)
    Call AddWorkHoursSummary(GetTableRange(Range("A1")))
End Sub

' 在庫表:在庫チェック
Sub RunStockSummary(control As IRibbonControl)
    Call MarkNegativeStock(GetTableRange(Range("A1")))
End Sub
VB

4. アドインに XML を埋め込む

  • Office Custom UI Editor というツールを使うと簡単
  • .xlam ファイルを開いて XML を貼り付け
  • 保存すると、Excel のリボンに反映されます

✅ まとめ

  • CustomUI XML でリボンを定義
  • onAction に VBA マクロを紐付け
  • Office Custom UI Editor を使って .xlam に埋め込む
  • Excel を再起動すると「黄金パターン」タブが追加され、ワンクリックで処理が実行可能

💡 これで「黄金100パターン」を リボン UI 化 して、誰でも直感的に使えるようになります。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました