2017-05-26 28 views
2

緑と紫の2つのセルがあります。Excel vba .Interior.ColorIndexが正しく動作しません。

Sub test() 
    With Selection.Interior 
     MsgBox (.ColorIndex) 
    End With 
End Sub 

Somewhy MsgBox15との両方の緑と紫の色のために表示されます:私は、コードを持っています。 1021331613082801:私はコード

Sub test() 
    With Selection.Interior 
     MsgBox (.Color) 
    End With 
End Sub 

を使用する場合 それは別の番号が、緑と紫の色のためのユニークなを提供します。

なぜColorIndexに同じ番号が与えられ、Colorに異なる番号が付いているのはなぜですか?

.Colorによって返された数字をコードに使用することは安全ですか?コンピュータによっては変わらないだろうか?

+0

FYI .Color' '周りの括弧は不要であり、最終的には後端であなたをかみます。 [理由を見る](https://stackoverflow.com/documentation/vba/1179/procedure-calls/3818/this-is-confusing-why-not-just-always-use-parentheses#t=201705261415301545264)。 –

答えて

5

.Colorは、.ColorIndex(それ以上の色が定義されています)よりはるかに広いパレットです。 ColorIndexは、定義されている色や色合いを補うために近似する必要があります。

enter image description here

関連する問題