【Excel VBA 開発用コード集】Excelにオリジナルのリボンを追加する方法

Excel にオリジナルのリボン(カスタム UI)を追加するための基本的な実装手順をまとめました。
リボンに独自のメニューを配置し、そこから VBA マクロを実行できるようにすることを目的としています。
VBA アプリケーションに組み込んで使用することを想定しています。
リボン編集ツールを使用してリボンを追加する方法もありますが、この記事ではツールを使用せず、ファイルを直接編集する方法でリボンを追加します。
Excelにオリジナルのリボンを追加する方法
以下の手順でリボンを追加します。
マクロ実行用のExcelファイル(.xlsm)を想定しています。

Excelの拡張子を.zipに変更します。

ZIP化したExcelを右クリックメニューから展開します。


展開したフォルダの中身は以下のようになっています。

展開後のフォルダにcustomUIフォルダを作成します。

customUIフォルダの中に、customUI.xmlを作成します。メモ帳で作成して拡張子を.xmlに変更すればよいです。

CustomUI.xmlを開き、以下のコードを記載します。記載したら保存して閉じます。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="R1_Tab01" label="マイアプリ">
<group id="R1_Grp01" label="グループ1 ">
<button id="R1_Btn01"
label="実行フォームの表示"
onAction="ShowForm1"
imageMso="TableInsert"
size="large"
showImage="true"
showLabel="true"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>onAction="ShowForm1" を呼び出し側のマクロで指定する必要があります。後述します。


.rels を開き、以下のように編集します。編集後のファイルには、custom UI 用の Relationship が追加されています。編集したら保存して閉じます。
【編集前】
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship
Id="rId3"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
Target="docProps/app.xml"
/>
<Relationship
Id="rId2"
Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"
Target="docProps/core.xml"
/>
<Relationship
Id="rId1"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
Target="xl/workbook.xml"
/>
</Relationships>
【編集後】
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship
Id="rId3"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
Target="docProps/app.xml"
/>
<Relationship
Id="rId2"
Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"
Target="docProps/core.xml"
/>
<Relationship
Id="rId1"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
Target="xl/workbook.xml"
/>
<Relationship
Id="customUI"
Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility"
Target="customUI/customUI.xml"
/>
</Relationships>
1階層目のフォルダに戻り、全ファイルを選択し、右クリックメニューからZIP化します。


以下のように再ZIP化したファイルの拡張子を.xlsmに戻します。

以上でリボンが追加されました。
次に、このリボンから実行されるマクロを登録します。
リボンを追加したExcelファイルのVBEから、標準モジュールを挿入し、以下のコードを記述します。
customUI.xml の中の onAction="ShowForm1" で指定した名前をSub名に指定します。
Sub ShowForm1(control As IRibbonControl)
UserForm1.Show vbModeless
End Sub以下のようなユーザー フォームを作成しておきます。

以上でExcelファイル側の準備は完了です。
次に、リボンが追加されている様子を確認していきます。
リボンを追加したExcelファイルを開きます。オリジナルのリボンが追加されていることが確認できます。

リボンに登録したタブを開き、ボタンをクリックします。

ボタンに紐づいているマクロが実行され、以下のフォームが表示されます。


以上で解説は終了です。
VBAスキルアップの参考情報
近年は、ChatGPTをはじめとするAIの登場によって、学習のスタイルが大きく変わりました。
分からないことがあれば、AIに尋ねれば答えがすぐに見つかる時代です。
とはいえ、AIを使いこなすには、自分自身の基本的な知識や理解力が欠かせません。
全体像をつかむためには、やはり書籍などで体系的に学んでおくことが今でも有効です。
そのうえでAIを活用すれば、自分の理解度に合わせた的確な解説や、応用のヒントを得ることができます。
「学んで基礎を築く → AIで補い発展させる」──このサイクルを重ねることで、VBAスキルは着実に高まっていくでしょう。
VBAのスキルアップ
VBAを学び始めるなら
入門書は、どれを選んでも大きな差はないように感じます。
どれを選ぶかに悩むことに時間をかけるよりも、まずは手頃な一冊を手に取って進めてみるのがおすすめです。
もし迷ったときには、私はインプレス社の「いちばんやさしい」シリーズを選ぶことが多いです。
基礎を超えて力をつけたいなら
私は上級者を目指していましたので、入門書にとどまらず、このような内容の濃い一冊を選んで学んでいました。
今は誰でもAIを活用できる時代になりましたが、上級者を目指す方にとっては、AIをより上手に活用するという意味でも、こうした本は今なお価値があります。
このレベルの本を一冊持っておくことに、損はないでしょう。
資格で能力を証明したいなら
VBAのプログラミング能力を客観的に示したい場合には「VBAエキスパート試験」があります。
特に「スタンダード」の方は上級者向けです。
あなたが社内業務の改善を行う立場であっても、VBAで作成したシステムをお客様に納める立場であっても、この資格は信頼や安心につながるでしょう。
以下の公式テキストが販売されています。
プログラミングの一般教養
「独学プログラマー」というプログラミングの魅力を解説した書籍があります。
これはVBAではなくPythonを題材としていますが、プログラミングの基本的な知識や思考法、仕事の進め方まで幅広く学べます。
今はAIにコードを尋ねれば、答えが返ってくる時代です。
しかし、この本からは「コード」以上に、プログラミングに向き合う姿勢や考え方を学ぶことができるでしょう。
こちらの記事でも紹介しています。もしよろしければご覧ください。
【初心者歓迎】無料相談受付中

いつもありがとうございます!
限られた時間をより良く使い、日本の生産性を高めたい──
みんなの実用学を運営するソフトデザイン工房では、業務整理や業務改善アプリケーション作成のご相談を承っております。
お気軽にご相談ください。
こちらの記事でも紹介しております。
おわりに


ご覧いただきありがとうございました!
この記事では、「オリジナルリボンを追加する」方法をまとめました。
お問い合わせやご要望がございましたら、「お問い合わせ/ご要望」フォームまたはコメント欄よりお知らせください。
この記事が皆様のお役に立てれば幸いです。
なお、当サイトでは様々な情報を発信しております。よろしければトップページもあわせてご覧ください。
この記事を書いた人
- ソフトデザイン工房|日々の業務にちょうどいい自動化を
- ■人生を追求する凡人 ■日本一安全で、気の向くままに自分の時間を過ごせる、こだわりのキャンプ場を作るのが夢 ■ソフトデザイン工房運営(個人事業者) - 業務改善アプリケーションをご提供 ■人生は時間そのもの。ひとりでも多くの人が「より良い人生にするために時間を使って欲しい」と願い、仕事のスキルの向上、余暇の充実、資産形成を追求。
最新の投稿
01|Excel VBA マクロ2026年2月8日【Excel VBA 再利用コード集】ネストした辞書(Dictionary in Dictionary)を作成する
01|Excel VBA マクロ2026年2月7日【Excel VBA 開発用コード集】Excelにオリジナルのリボンを追加する方法
01|Excel VBA マクロ2026年2月6日【Excel VBA 再利用コード集】シートのデータを配列に格納する&取得した配列のサイズを確認(Debug.Print)する
01|Excel VBA マクロ2026年1月13日【Excel VBA 開発用コード集】VBAモジュールをテキスト形式で出力する

