VBA モジュールを再利用
こんにちは。
派犬事務員のコロ子です。
今更ながら、いつも書いているおなじみの処理の専用モジュールを作れば再利用できる事に気が付いた。本当に今更ながら・・・。
例えば、いつも使う計算式・係数・定数。オリジナルの表記。いろいろあるけど、特に毎回面倒なのがセルの色。
Rangeオブジェクト.Interior.Color がどうしても覚えられない。
Rangeオブジェクト.まで打って何だっけ~、と思いながらインテリセンス表示を2往復くらいして、結局分からなくてネット検索。
更にRGB値も「セルに色を付ける。ホームタブ→塗りつぶしの色→その他の色→ユーザー設定」で毎回調べている。そしてグレートバリアリーフ(GBR)への強い憧れなのか、毎回RGBをGBRと書いてしまう。
セルに色を付ける処理って、そこそこある。
それなのに毎回これって効率悪すぎ!!
それで今更ながらセルの色を付ける専用モジュールを作って保存しておけばいいことに気が付いた。
セルに色を付ける専用モジュールを作る
①標準モジュールに色モジュールを作成する
②色モジュールに、いつも使う色を設定するプロシージャーを作成する。
Sub 黄色(ran As Range) ran.Interior.Color = RGB(255, 255, 0) End Sub Sub 赤(ran As Range) ran.Interior.Color = RGB(255, 0, 0) End Sub Sub グレー(ran As Range) ran.Interior.Color = RGB(191, 191, 191) End Sub Sub ピンク(ran As Range) ran.Interior.Color = RGB(255, 153, 255) End Sub
③モジュールをエクスポートする
色モジュールで右クリックして「ファイルのエクスポート」を選択する。
④色.basファイルとして保存する
C:\Users\***\AppData\Roaming\Microsoft\AddIns がデフォルトになっているけど、階層が深くて探しに行くのが面倒なので、デスクトップなどにモジュールフォルダを作成して、そこに保存してもいいかも。
色.basファイルができる。
⑤再利用する(モジュールをインポートする)
セルに色を付ける処理が使いたくなったら、色.basファイルをインポートする。
プロジェクトエクスプローラーで右クリックして「ファイルのインポート」を選択する。
もしくはドラッグ&ドロップでもOK。
【例】A1セルをピンクにする
Call 色.ピンク(Range("A1"))
完成!
あと、既存のセルの色を調べるプロシージャー、調べた色を使うプロシージャー、色を消すプロシージャーとかも便利。
Sub 色調べる(ran As Range) Debug.Print ran.Interior.Color End Sub Sub 色付ける(ran As Range, myColor As Long) 'myColorには「色調べる」でイミディエイトウインドウに表示された数値を指定する ran.Interior.Color = myColor End Sub Sub 色消す(ran As Range) ran.Interior.Color = xlNone End Sub
これを作ってからセルに色を付ける処理がサクサクできて楽しくなった。
いろいろなオリジナルモジュールを作ってコレクションすると楽しい。