サイトアイコン エントレ|演劇動画ニュース

エクセルマクロ(EXCEL VBA) その9 ボタンを配置/マクロの調べ方

エクセルマクロ(EXCEL VBA)

マクロの実行ボタンを配置する

ここまでで、セルの指定、For Nextによる繰り返し作業の仕込み方、IfとElseIfを使った条件分岐のやり方についてご紹介してきました。

これまで、Visual Basicのページの実行ボタンを押してマクロを実行させていたわけですが、エクセル側のページ内に、マクロの実行ボタンを配置することができます。

マクロに不慣れなメンバーにもマクロを実行してもらいやすくなるので、ボタンを配置してみましょう。

ボタンの配置の仕方

まず、開発タブを開いた状態で、
挿入→フォームコントロール→ボタン(フォームコントロール)を押します。

すると、四角が書けるようになるので、
マウスでドラッグして適当な大きさの四角を書きます。

これでボタンになりました。

クリックすると名前が変更できるようになるので、マクロの内容に合わせて修正しましょう。
エクセルのどこかのセルをクリックすると名前が確定します。

次に、ボタンの名前でないところ、ボタンの端っこあたりを右クリックするとメニューが出てくるので「マクロの登録」を押します。

実行させたいマクロの名前を選んでOKを押します。

ボタンを押すとマクロが実行されるはずですので、試してみてください。

 

マクロの調べ方

For Nextと、Ifがあれば、かなりいろんなことができるようになるんですが、「こういう作業はどうしたらいいんだろう?」と、やり方を調べたいときがあります。

そういう時は、

VBA +(やりたいこと)

で検索すると、先人の知恵がたくさん検索結果に出てきます。

例えば、セルB2に入った文字を赤にしたいんだけど、マクロではなんて書けばいいんだろう?と思ったら、

VBA + 文字色

と検索してみてください。
いろいろと結果が出てきますが、
どうやら B2の文字色を赤にするには

Cells(2, 2).Font.Color = RGB(255, 0, 0)

のように書けばいいようですね。

という感じで調べることができますので、困ったらVBA+(やりたいこと)で検索してみてください。

 
これまで一つのシートでやってきましたが、次回は複数のシートを操作するやり方についてご紹介します。

 

宿題-9

セルの背景を濃い青色に、文字色を白にする方法を調べてみてください。

▼ クリックで解説を表示

解説

文字色の変更は、宿題-8で解説したので背景色について調べましょう。
Googleで「vba 背景色」で検索すると、
どうやら、Interior.Colorとすれば良いようですね。

またRGBカラーコードを調べると、
濃い青色はRGB(71, 68, 136)
白はRGB(255, 255, 255)のようです。

ということで、A1のセルに「文字の色を変更」と打ち込んで、
背景色を濃い青色に、文字色を白にするには、

Sub hw09_color()
Cells(1, 1) = "文字の色を変更"
Cells(1, 1).Interior.Color = RGB(71, 68, 136)
Cells(1, 1).Font.Color = RGB(255, 255, 255)
End Sub

とすれば完成です。

答えファイルのダウンロード

エクセルマクロ(EXCEL VBA) その10 複数のシートを使う方法

(文:森脇孝/エントレ)

モバイルバージョンを終了