Excelのリボンに無いコマンドを、マクロ登録する方法

この記事は約5分で読めます。

Officeのメニュー方式が「リボン」に変わったのは、バージョン2007からでした。
長く親しんできたプルダウン式メニューから、見た目が大きく変化して、戸惑ったものです(今も慣れない)


よく使うメニューは「ユーザー設定タブ」に集約して便利に使っているのですが、意外とリボンには無いメニューが使用頻度が高かったりします。
その時は、マクロで登録してしまいましょう。

今回は、マクロで自分好みのコマンドを作って、リボン登録する方法を紹介します。
次のサンプルコード付きです。

  1. 複数セルの選択範囲内で、文字配置を選択範囲内で中央揃え/解除
  2. 文字がセル内に収まらないときに、文字サイズを縮小して全体を表示する/解除


第二弾ではエンジニア納品用に便利なマクロも紹介していますので、興味のある方はご覧ください。

Excel VBAで画像に枠線を付ける、全シートA1選択にするマクロ
Excelで頻繁に使う処理を毎回メニューから選ぶのは作業効率が悪いので、VBAマクロにしてリボン登録して更にショートカットにして便利にしてしまいましょう。今回は「図形に枠を付ける」「全シートA1選択状態にする」というエンジニアの納品物作成向けです。

1.Excelのリボンから手軽に使えるようにします

まず最初に、マクロ専用ファイルを準備します。
普通にマクロ登録すると、ブック(個々のExcelファイル)に登録されてしまい、Excelアプリケーション共通で使うことができません。
そのため「個人用マクロブック」にマクロを登録します。

個人用マクロブックに登録すれば、新規ファイルであろうが、他人からもらったExcelファイルであろうが、Excelアプリケーションを使っている間はいつでもマクロを利用できます。
この状態が、リボンでのマクロ利用では必要なのです。

1-1.マクロを登録する

皆さんの使っているExcelの状況によって、手順が少し変わります。

  1. 何でもよいのでExcelファイルを開きます。(新規ファイルでも、既存のファイルでもOK)
  2. Alt + F11キーを押します。Visual Basic Editor のウィンドウが開きます。
  3. 左上部分に「PERSONAL.XLSB」があれば、1-1-aは飛ばして、1-1-bから続けてください。

1-1-a.マクロブックが無い場合の作り方

  1. Excelのシート画面に戻ります。
  2. 左下のマクロボタンを押して、マクロの記録を開始します。
  3. マクロの保存先を「個人用マクロブック」にしてOKをクリックします。
  4. 左下のマクロボタン(□マークに変化している)を押して、記録を終了します。

上の1~4を実行後にもう一度「Alt + F11キー」を押すと、PERSONAL.XLSB が出てきます。

標準モジュールの Module1 をダブルクリックすると、次のようなコードが出てきます。

Sub Macro1()
'
' Macro1 Macro
'

'
End Sub

このコードは先ほどの「マクロの記録」で自動生成されたものです。要らないので削除してください

1-1-b.個人用マクロブックに、マクロを登録する

次のコードを、PERSONAL.XLSB の Module1 に貼り付けてください。

Sub 選択範囲内で中央揃え()
    If TypeName(Selection) = "Range" Then
        Selection.HorizontalAlignment = xlCenterAcrossSelection
    End If
End Sub

Sub 選択範囲内で中央揃えを解除()
    If TypeName(Selection) = "Range" Then
        Selection.HorizontalAlignment = xlGeneral
    End If
End Sub

Sub 縮小して全体表示()
    If TypeName(Selection) = "Range" Then
        Selection.ShrinkToFit = True
    End If
End Sub

Sub 縮小して全体表示を解除()
    If TypeName(Selection) = "Range" Then
        Selection.ShrinkToFit = False
    End If
End Sub

貼り付けた後の画面は、こんな感じです。

このサンプルコードは頻繁に使うのですが、通常だと設定できるのが

  1. セルを右クリック⇒「セルの書式設定」⇒「配置」タブ⇒「文字の配置:選択範囲内で中央」
  2. セルを右クリック⇒「セルの書式設定」⇒「配置」タブ⇒「文字の制御:縮小して全体を表示する」

と、案外遠いのです。

「文字の制御:折り返して全体を表示する」「文字の制御:セルを結合する」は、リボンに専用ボタンがあるのに、なぜか「文字の制御:縮小して全体を表示する」だけ存在しない謎…。

1-2.リボンにマクロを登録

マクロを登録したので、マクロの実行(Alt + F8キー)で使うこともできますが、もうひと手間かけると格段に便利になります。
リボンにマクロを登録してしまいましょう。

1-2-a.リボンのユーザー設定

リボンの適当な場所で右クリックして、「リボンのユーザー設定」を選択します。
コマンドの選択で「マクロ」を選ぶと先ほど登録したマクロが出てきますので、右側のタブ(お好きな位置)に追加します。
ついでに「名前の変更」をして、その名前の変更画面でアイコンも一緒に変えてしまいましょう。(マクロの初期アイコンは可愛くないです)

2.クイックアクセスバーでも使用できます

リボンからマクロを起動できるようになり便利になりました。
「クイックアクセスバー」に登録すると、より一層便利になります。

今回のマクロが「Alt + 1」「Alt + 2」のようにキーボード起動できます
作業の効率化に役立ってくれます。

ちなみに「[よく使う]タブ」は私のカスタマイズです。自分が良く使うコマンドを一ヶ所に集めています。
リボンは意外と色々設定できるので、皆さんも試してみてください。

Excel VBAで画像に枠線を付ける、全シートA1選択にするマクロ
Excelで頻繁に使う処理を毎回メニューから選ぶのは作業効率が悪いので、VBAマクロにしてリボン登録して更にショートカットにして便利にしてしまいましょう。今回は「図形に枠を付ける」「全シートA1選択状態にする」というエンジニアの納品物作成向けです。
タイトルとURLをコピーしました