Excel 関連のページです > Excelマクロの使い方 > ツールバーボタンへのマクロの登録(Excel95)


ツールバーボタンへのマクロの登録(Excel95)

このページでは、ツールバーボタンにマクロを登録して実行する手順をご紹介します。マクロの内容は、値が100以上のセルのフォント色を赤にするものです。

マクロの作成

まず、Excelを起動して、新規ブックを作成します。

テストデータを入力します。


モジュールシートを挿入します。ワークシートのメニューで [挿入]-[マクロ]-[モジュール] です。


このページをご覧になっているブラウザ上で、以下のマクロをマウスで範囲選択してコピーしてください。「'値が100以上の・・・」から「End Sub」までです。

'値が100以上のセルのフォント色を赤に設定するマクロ

Sub MySetFontColor()
    Selection.Font.ColorIndex = xlAutomatic
    For Each r In Selection.Cells
        If r.Value >= 100 Then r.Font.ColorIndex = 3
    Next
End Sub

モジュールシートにマクロを貼り付けます。モジュールシートのメニューで [編集]-[貼り付け] です。


これでマクロが作成されました。


ツールバーボタンへのマクロの登録


[ツールバー]ダイアログボックスを表示します。メニューで[表示]-[ツールバー]です。


[ツールバー名]ボックスに新規作成するツールバーの名前を入力し、[新規作成]ボタンをクリックします。ここではMyToolbarという名前で作成します。


作成したツールバーが表示され、[ユーザー設定]ダイアログボックスが表示されます。ツールバーにはまだボタンがありません。


[ユーザー設定]ダイアログボックスにはたくさんのツールバーボタンが表示されます。

[分類]リストボックスで[ユーザー設定]を選び、お好みのボタンをクリックします。


クリックしたボタンを、新規作成したツールバーへドラッグ・アンド・ドロップします。


自動的に[マクロの登録]ダイアログボックスが表示されるのでマクロを選択して[OK]ボタンをクリックします。


再び[ユーザー設定]ダイアログボックスが表示されます。[閉じる]ボタンをクリックすると、作成完了です。

セル範囲を選択して、ツールバーボタンをクリックするとマクロが実行されます。



ツールバーについてのQ&A


Q. ツールバーボタンを選択したいのですが、マウスでクリックするとマクロを実行してしまいます。

A. [ツールバー]ダイアログボックスか[ユーザー設定]ダイアログボックスが表示されている状態でボタンをクリックします。これらのダイアログボックスを表示させるには、メニューの[表示]-[ツールバー]を選択するか、またはツールバーやその背景で右クリックし、ショートカットメニューの[ツールバー]または[ユーザー設定]を選択します。


Q. 既存のツールバーにボタンを追加するにはどうすればよいのですか?

A. ツールバーを表示させ、[ユーザー設定]ダイアログボックスからお好みのボタンをツールバーへドラッグ・アンド・ドロップします。 [ユーザー設定]ダイアログボックスを表示させるには、[ツールバー]ダイアログボックス(メニューで[表示]-[ツールバー])で[設定]ボタンをクリックするか、またはツールバーやその背景で右クリックし、ショートカットメニューの[ユーザー設定]を選択します。


Q. ボタンの位置の変更や削除はどうすればよいのですか?

A. ボタンを選択し、マウスでドラッグ・アンド・ドロップすると位置を変更できます。またツールバーの外へドラッグ・アンド・ドロップするとボタンを削除できます。


Q. ツールバーボタンの名前を変更するにはどうすればよいのですか?

A. マクロを使って変更します。

まず、ツールバー名とボタンの順番を調べます。ツールバー名は[ツールバー]ダイアログボックス(メニューで[表示]-[ツールバー])に表示される名前です。ボタンの順番はツールバーボタンを横一列に並べたときの左からの順番です。ただし、ボタンの間隔も1つとカウントします。数えるのが面倒ならばボタンを一番左端に移動しておきます。名前を付けた後でまた元の位置に戻せばよいです。

以下のようなマクロを作り実行します。このマクロは、"MyToolbar"の1番目のボタン(一番左端のボタン)に、"100以上を赤に設定"という名前を設定します。

Sub Test1()
    Toolbars("MyToolbar").ToolbarButtons(1).Name = "100以上を赤に設定"
End Sub
また、このようなマクロを使って変更することもできます。


Q. ボタンに対応するステータスバーメッセージを変更するにはどうすればよいのですか?

A. ステータスバーには実行するマクロに設定されたメッセージが表示されます。マクロにステータスバーメッセージを設定するには、まず、メニューの[ツール]-[マクロ]で[マクロの実行]ダイアログボックスを表示させ、マクロを選択し、[オプション]ボタンをクリックします。[マクロオプション]ダイアログボックスが表示されるので、[ステータスバーメッセージ]ボックスにメッセージを入力し、[OK]ボタンをクリックします。

Excel95ではマクロを使ってボタンにステータスバーメッセージを設定することもできます。以下のマクロは、"MyToolbar"の1番目のボタン(一番左端のボタン)に、"100以上を赤に設定"というステータスバーメッセージを設定します。

Sub Test2()
    Toolbars("MyToolbar").ToolbarButtons(1).StatusBar = "100以上を赤に設定"
End Sub

Q. ボタンに別のマクロを登録するにはどうすればよいのですか?

A. ボタンを選択した状態で、右クリックし、ショートカットメニューの[マクロの登録]を選ぶと、ダイアログボックスが表示されますので、そこで別のマクロを選択します。


Q. ボタンのイメージを変更するにはどうすればよいのですか?

A. ボタンを選択して、右クリックし、ショートカットメニューの[ボタンイメージの編集]を選択すると、ボタンエディタが起動されますので、そこで編集します。

また、同じショートカットメニューで、[ボタンイメージのコピー][ボタンイメージの貼り付け]ができます。他のツールでイメージを作成、コピーし、ボタンに貼り付けることも可能です。


Q. ツールバーの名前を変更するにはどうすればよいのですか?

A. ツールバーの名前を変更することはできませんので、作り直します。新しいツールバーを作成し、ツールバーボタンをドラッグ・アンド・ドロップで移動します。


Q. ツールバーを削除するにはどうすればよいのですか?

A. [ツールバー]ダイアログボックス(メニューで[表示]-[ツールバー])を表示させ、削除したいツールバーを選択して[削除]ボタンをクリックします。


Q. ツールバーを保存するにはどうすればよいのですか?

A. 作成したツールバーは内部的に保存され、Excelを終了しても消えてしまうことはありませんが、ブックに保存することもできます。別のコンピュータでも使いたい場合などに便利です。

ブックに保存するには、[ブックへツールバーを登録]ダイアログボックス(モジュールシートのメニューで[ツール]-[ブックへツールバーを登録])でツールバーを選択し、[コピー]ボタンをクリックします。なお、ブックへ登録されるのはその時点でのツールバーの内容ですので、登録後にツールバーを変更した場合は、再度登録し直します。

ブックへ登録されたツールバーは、そのブックを開くと自動的にExcelに登録され、使用できるようになります。ただし、ブックを開くときすでに同名のツールバーが存在している場合には、新たに登録されることはありません。


Q. ツールバーボタンを使うには、登録されたマクロを含むブックをあらかじめ開いておく必要がありますか?

A. その必要はありません。登録されたマクロを含むブックは、もし開いていなければ、ボタンがクリックされたときに自動的に開かれます。