Excelの範囲に8色の定数があります。私はちょうどセル値に基づいて、隣接する列のセルの内装色を変更するだけでした。残念ながら、値が文字列として扱われるため、型の不一致が発生しますが、定数に変換する方法はわかりません。例えば色定数のセル値に基づいて内装色を変更します
、青に内装色を変更するには、それが文字列 "vbblue"
あるので、これは」 rng.interior.color = vbblueではなく、この rng.interior.color = rng.value作品
列Eの範囲が列Dの値に基づいて背景色になるように、rng.valueを文字列から色定数に変換するにはどうすればよいですか?
Dim colorRange As Range
Dim rng As Range
Set colorRange = Range("D1", Range("D1").End(xlDown).Address)
For Each rng In colorRange
rng.Offset(, 1).Interior.Color = rng.Value
Next rng
私はselect caseステートメントの使用を検討していましたが、何も欠けていないことを確認したかったのです。あなたはマップされていることを確認したので、私はあなたの答えを選択することができます。しかし、1つの質問ですが、関数型がlongに設定されているのはなぜですか?ありがとう。 –
ニース回避策: –
@AshtonMorganこれらの定数はlong型ですが、内部的には3バイトで赤、緑、青の強度がエンコードされます。そのため、 'RGB'関数は' Long'を返します。 –