.Interior.ColorIndexでセルの背景色を調べる+セルの背景色を設定する

お引越し通知

[ お知らせ ]
この記事は、2017年10月07日に、FC2ブログからこちらのサイト(kazushikato.info)へ移転したものです。

.Interior.ColorIndexはエクセルのセル(四角いマス)の背景色(塗りつぶしの色)を指定するためのマクロです。また調べることもできます。

Interiorが背景を表す言葉です。ColorIndexは背景に限らずフォントの色や罫線、輪郭線などエクセルの色にかかわる(設定する)マクロです。
私は、この.Interior.ColorIndexを使ってセルの背景色を調べました。透析の患者さんを色によってグループ分けしたからです。透析の患者さんは透析を受ける時間帯や曜日によって4グループに分かれています。
——————————————————
赤・・・月・水・金/午前中の患者さん
●青・・・月・水・金/午後の患者さん
黄・・・火・木・土/午前の患者さん
緑・・・火・木・土/午後の患者さん
——————————————————
です。余談ですがこの色は実際に経過表(カルテ)をはさんでいるボードの色からとりました。
実際のマクロの一例は次の通りです。
——————————————
For i = 3 To MaxRows
With OldMember(l)
.Simei1 = Touseki.Cells(i, 3)
.Simei4 = Touseki.Cells(i, 2)
.Hizuke1 = CDate(Touseki.Cells(i, 30))
.Hizuke2 = CDate(Touseki.Cells(i, 31))
.Hizuke3 = CDate(Touseki.Cells(i, 32))
.iro = Touseki.Cells(i, 1).Interior.ColorIndex
.HenkoSwitch = False
End With
l = l + 1
Next
——————————————
このマクロは患者さんの名前や透析日などの情報をエクセルのシートから読み込む為のものですが、その中に iro というところがあります。これが透析の曜日時間によって付けら
れているエクセルのセルの背景色を読み込むための式です。
Touseki.Cells(i, 1)でセルを指定して、そのあとの).Interior.ColorIndexでそのセルの背景色を調べています。そして調べた結果を .iro に入れています。
.Interior.ColorIndexは背景色を調べるだけではなく、逆に指定することもできます。下の例をご覧ください。

InteriorColorIndexのマクロ
InteriorColorIndexのマクロ

——————————————
‘透析クール(色)の転送
Touseki.Cells(i, 1).Activate
iro = Tcolor
Touseki.Cells(i, 1).Interior.ColorIndex = iro
——————————————

下記画像はTcolor(変数)にどのようにして色番号を入れているかを表した図です。フォームのオプションボタンを押すことで決めています。それぞれ(5個)のオプションボタンには色番号が割り当てられています。

)InteriorColorIndexを使用したVBAフォーム
)InteriorColorIndexを使用したVBAフォーム

このように色を指定するのは番号(カラーインデックス番号)を使って行なっています。
一例をあげると、1は黒、2は白、3は赤、4は緑、5は青、6は黄色となっています。その他、
色番号一覧(カラーパレット)は下記画像をご覧ください。

InteriorColorIndexのカラーインデックス番号表
InteriorColorIndexのカラーインデックス番号表

色番号一覧をワークシートに表示するマクロは下記です。
———————————————-
Private Sub Worksheet_Activate()
l = 1
For i = 1 To 9 Step 2
For K = 1 To 10
Worksheets(“Sheet1”).Cells(3 + K, i) = l
Worksheets(“Sheet1”).Cells(3 + K, i + 1).Interior.ColorIndex = l
l = l + 1
Next
Next
End Sub
———————————————-
この表では50番までしか表示されませんが実際にはカラーインデックス番号は56番まであります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. ame より:

    参考になりました。ありがとうございます。

  2. kazushi より:

    記事を読んでいただいて、コメントまでいただいてありがとうございました。大変うれしく存じます。