ジャンサンがはまっていたじょ。
エクセルVBAでセルの色の取得だから、てっきり
Cells(irTarget.Row, irTarget.Clm).Interior.Color
で大丈夫と思っていたら、
例のこれだじょ。
16777215 無色しか取得できない。
エクセルVBAでセルの色の取得だから、てっきり
Cells(irTarget.Row, irTarget.Clm).Interior.Color
で大丈夫と思っていたら、
例のこれだじょ。
16777215 無色しか取得できない。
条件付き書式のセルの色の取得は、これではダメだったじょ。
はまった。
調べると、条件付書式の再評価をVBAでしてとかあるけど、面倒だじょ。
だいたい、世界一短いプログラムを書くジャンサンはしたくない。
そこで、発見したのがDisplayFormatだったじょ。
これで取得できたじょ。
気がつけば簡単だけど、たぶん世界一の技だと思う。
うんうん。
Dim dColor As Double
Dim lnColorIndex As Long
dColor = 0
lnColorIndex = 0
だいたい、世界一短いプログラムを書くジャンサンはしたくない。
そこで、発見したのがDisplayFormatだったじょ。
これで取得できたじょ。
気がつけば簡単だけど、たぶん世界一の技だと思う。
うんうん。
Private Sub Worksheet_Change(ByVal irTarget As Range)
Dim dColor As Double
Dim lnColorIndex As Long
dColor = 0
lnColorIndex = 0
'条件付き書式の色を取得し、実測値に設定(条件付き書式のセルの色と単なるセルの色は別もの)
dColor = Cells(irTarget.Row, irTarget.Clm).DisplayFormat.Interior.Color lnColorIndex = Cells(irTarget.Row, irTarget.Clm).DisplayFormat.Interior.ColorIndex
End Sub