【広告】

しのちーチャンネル

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

.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のマクロ

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

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

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

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

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 より:

    SECRET: 0
    PASS: 74be16979710d4c4e7c6647856088456
    参考になりました。ありがとうございます。

  2. kazushi より:

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

タイトルとURLをコピーしました