本記事はプロモーションを含みます

Excel VBA セルの色、文字の色 取得方法 条件式の方法

eyecatch_791

プログラムの背景

Excel VBAでワークシートのセルの色や文字の色で、条件式で振り分けたい時がある。
例えば、連続の行を順番にするときに処理をしない行を作成したい時に、通常はフラグ用の列を作成しないといけないが、既存の列のセルの色や文字の色で処理ができると、余分な列が増えず、印刷用のワークシートの場合、そのまま印刷しても見た目に問題がないなどの利点がある。

また、VBAを使用していない、ワークシートの場合、人が見やすくするため、条件をセルの色、文字の色で振り分けていることが多い。ただし、そこから、プログラムにデーターを渡す場合は、そのままでは、使用しずらいので、それ用のフラグ列などを作成し、文字に起こしたほうが処理をしやすい場面が出てくるときがある。

セルの色で条件式を振り割るコード

x = 2     '列 2の場合は、B列
y = 3     '行 3の場合は、3行
If Cells(y, x).Interior.Color = RGB(255, 0, 0) Then
     '処理の内容
endif

このコード自体は、B3のセルの色が赤の場合、処理の内容を実施する内容です。

「Cells(y, x).Interior.Color」こちらで、セルの色が取得できます。取得する値は、後述のRGB形式です。

「RGB(赤, 緑, 青)」RGBの色の指定です。赤だと「RGB(255, 0, 0)」。緑だと「RGB(0, 255, 0)」。青だと「RGB(0, 0, 255)」。

文字の色で条件式を振り割るコード

x = 2     '列 2の場合は、B列
y = 3     '行 3の場合は、3行
If Cells(y, x).Font.Color = RGB(255, 0, 0) Then
     '処理の内容
endif

このコード自体は、B3の文字の色が赤の場合、処理の内容を実施する内容です。

「Cells(y, x).Font.Color」こちらで、セルの色が取得できます。取得する値は、前述のRGB形式です。

問題が解決したら、お友達と共有しませんか?

この記事にいっぱいおごってみる?

KOBE WINGのAmazonほしい物リスト

オススメ記事

eyecatch_771

Excel VBA 特定のセルが見えるようにスクロールする方法…

問題点 ExcelのVBAでワークシートのセルに値を入力して…

eyecatch_471

Excel VBA 列幅 自動調整 一部の列幅、全ての列幅を設定する…

問題点 ExcelのVBAでワークシートの列幅を自動調整した…

eyecatch_465

EXCEL VBA 保存後にWindowsをシャットダウンする方法…

問題点 EXCEL VBAで、長時間動かすマクロだと、マクロ…


VBA

Posted by KobeWing