【Excel VBA】If Elseとは違う条件式(Select Case)について
エンジニアのIMMRです。Excel VBAの条件式には、以前に説明したExcel VBA 条件式(If Else)とこれから説明するSelect Caseの二つあります。1.従来のIf Else条件式If Elseは条件に合った時は処理Aを、条件に合わなかったら処理Bを実行します。では、下記のようなデータがあり、複数の条件があるとします。If Elseを使用して作成すると2種類の方法が浮かぶと思
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
エンジニアのIMMRです。
普段、Excelの作業で下記のようにフォントのカラー変更やセルの塗りつぶしを行うと思います。
VBAでも同じような作業を行うことができるので、説明いたします。
フォルトやセルの塗りつぶし等のカラー変更を選択しますが、2種類の方法があります。
・色パレットの数値で設定する方法
・RGB(赤,緑,青)の数値で設定する方法
Excelには、「色パレット」といってあらかじめ色が決められています。
そのため、色パレットの1を設定すると黒になります。
では、色パレットの2を設定すると上図の右か下の茶色になると予想されるのですが、結果は白になります。
なぜかというと色パレットの値と位置は下記のように決まっているからです。
※文字の色(黒・白)は、見やすさだけを考慮したもので差はないです。
この決まった色パレットの位置に対する数値でカラーの設定が出来ます。
その名のとおり、赤、緑、青それぞれに0~255までの数値を指定します。
光の三原色と同じ考えです。
そのため、下記のような数値入力をして、カラーを設定します。
・RGB(255, 0, 0) → 赤
・RGB(0, 255, 0) → 緑
・RGB(0, 0, 255) → 青
・RGB(255, 255, 0) → 黄
・RGB(255, 0, 255) → 薄い紫
・RGB(0, 255, 255) → 薄い青
・RGB(255, 255, 255) → 白
ちなみに全て、0は、黒になります。
・RGB(0, 0, 0) → 黒
その他の色ですが下記の方法でRGB、それぞれの値を確認することができます。
①赤枠の「その他の色」を選択します。
※ここで青枠内の色を選択できますが、ここで選択しなくてもよいです。
②赤枠の「ユーザー設定」を選択します。
※ここで青枠内の色を選択できますが、ここで選択しなくてもよいです。
③赤枠にRGBのそれぞれの値が記載されています。
※ここで青枠内の色を選択できますが、ここで選択しなくてもよいです。
セルの塗りつぶしやフォントのカラー変更を行う方法ですが、
それぞれ「セルの塗りつぶし」「フォント」の2パターンを説明します。
セルの塗りつぶし
Cells(Y, X).Interior.ColorIndex = 色パレットの番号
Cells(Y, X).Interior.Color = RGB(@, @, @)
フォントのカラー設定
Cells(Y, X).Font.ColorIndex = 色パレットの番号
Cells(Y, X).Font.Color = RGB(@, @, @)
上記のような文字列が記載されているブックを用意して
下記、プログラムを実行してみます。
Sub test3()
Cells(2, 2).Font.ColorIndex = 3
Cells(3, 2).Font.Color = RGB(0, 255, 0)
Cells(4, 2).Interior.ColorIndex = 6
Cells(5, 2).Interior.Color = RGB(0, 255, 255)
End Sub
セルの塗りつぶしやフォントのカラー変更を行うことができるか上記、サンプルコードを使用して実行します。
実行結果は以下になります。
実行結果
それぞれのフォントやセルに対して、カラー変更が行われます。
セルの塗りつぶしやフォントのカラー変更を行うことが出来ました。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート