2011-10-14 6 views
1

Excel 2007 vba 매크로에 TintAndShadePatternTintAndShade을 추가했습니다. 동료가 Excel 2003에서이 도구를 사용해 본 결과 해당 명령이 작동하지 않는다는 사실을 알게되었습니다.Excel 2003의 TintAndShade 및 PatternTintAndShade

다음 코드를 Excel 2003에서 작동 할 수있는 코드로 변환하려면 어떻게해야합니까?

.TintAndShade = 0 
    .PatternTintAndShade = 0 

참고 : 변환을 필요로하는 라인이

With Selection.Interior 
    .Pattern = xlSolid 
    .PatternColorIndex = xlAutomatic 
    .Color = 5296274 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
End With 

나는 셀 속성을 변경하기 위해 사용합니다.

답변

1

TintandShade는 Excel 2003의 모양에서만 작동합니다. 셀에는 표준 색상이 붙어 있습니다. 당신은 버전에 따라 조건부로 코드를 만들 수 있습니다.

With Selection.Interior 
    .Pattern = xlSolid 
    .PatternColorIndex = xlAutomatic 
    .Color = 5296274 

    If Application.Version >= 12 then 
    .TintAndShade = 0 
    .PatternTintAndShade = 0 
    End If 

    End With 
+0

그래서 12 = excel 2007? 감사! – Wikis

+1

12 = Excel 2007, 14 = Excel 2010 및 11 = Excel 2003. 13에 무슨 일이 있었는지 모르겠습니다. – TheFuzzyGiggler

+1

미신은 개입 했습니까? – Wikis

0

.PatternTintAndShade 때문에 0이 자신의 무효화 설정, 간단하게 말했다 2003 년의 범위 (단 모양)

에 적용되지

.TintAndShade 2003에서 사용할 수없는, 2007 버전에서 추가되었다 효과가 있으므로, 우리에게 말하지 않는 것이 없으면 전혀 사용하지 않아도됩니다. 레코드가 유용 할 수 있지만 그것은 다른 버전에서 다른 코드를 생성 할 수 있습니다 형식 등 그리고 설정 특히

편집

, 그것은 종종 당신의 목적을 위해 필요한 것보다 더 많은 코드를 생성합니다. 복음이 아니라 지침으로 사용하십시오.

예는

엑셀

Sub Macro1() 
    With Selection.Interior 
     .Pattern = xlSolid 
     .PatternColorIndex = xlAutomatic 
     .Color = 65535 
     .TintAndShade = 0 
     .PatternTintAndShade = 0 
    End With 
End Sub 

Excel 2003의 2010 (2010 년이 매크로를 실행 2003에서와 동일한 결과를 생성) (도구 모음 페인트를 사용) 범위에 채우기 색상을 설정

Sub Macro1() 
    With Selection.Interior 
     .ColorIndex = 6 
     .Pattern = xlSolid 
    End With 
End Sub 
+0

코드를 확인하면서 한 곳에서 다른 값을 사용했습니다. 하지만이 코드는 매크로 기록에서 가져 왔습니다. – Wikis

관련 문제