2013-10-22 1 views
0

조금 미쳐 가기 전에 누군가 도와주세요.Excel VBA 16 진수 색상이 올바르게 표시되지 않습니다.

내가 VBA 색상의 규모를 사용하기 위해 노력하고있어 나는 그러나하지 내가 기대하는 방식과 나는 그것이 & H 접두사와 함께 할 생각 그들 모두 출력 RGB 및 16 진수 값이

Const Band10Colour As Long = &HF8696B 

그러나이 사랑스러운 자주색 색상은 다음과 같습니다

나는 빨간색의 사랑스러운 그늘이 예를

를 들어

(RGB 248 : 105 : 107 HEX의 F8696B) 나는 나의 코드 I 입력을 쓰고 있어요 때

자주색의 RGB를 보면 107 : 105 : 248과 반대입니다!

정확한 & H 16 진수 값을 얻으면 VBA에서 붉은 색을 보라색으로 인식하지 못하게 할 수 있습니다.

+0

변수로 저장해야하는 이유가 있습니까? – sam092

+0

예, 색상 불일치가있는 색상을 수용 할 수있는 두 가지 색상이 있습니다. – CatParky

+1

@ Bathsheba의 대답을 참조하십시오. 당신은'Band10Colour = rgb (248,105,107)'을 사용할 수 있습니다. – sam092

답변

3

대신 VBA.RGB(...)을 사용해야합니다. 발생한 문제는 Long의 메모리 레이아웃이 예기치 않게 충돌하여 내부적으로 RGB 구조가 정의되는 방식과 충돌합니다.

VBA.RGB(...)Long을 반환하므로 함수 출력 만 저장하면됩니다.

관련 문제