2014-07-14 5 views
0

VBA 서브 루틴을 작성하기 위해 많은 양의 조건부 서식을 변경해야합니다. 다음 코드는 조건부 형식을 설정하지만 결과가 올바르지 않습니다. 그 말은 시트에 가서 조건부 서식이 올바른 것입니다. 결과가 잘못되었습니다. 따라서 수식 .8 * ($ L $ 9/10) = 7.92이므로 숫자가 = 8이 아닌 빨간색으로 표시되어야하지만 모두 빨간색으로 표시됩니다.Excel 100 VBA는 조건부 서식을 설정하지만 결과가 잘못됨

Sub SetFirst2(ByVal TheRow As Byte, target As Range) 
    ' if it is less than .8*total/10 
target.FormatConditions.Add Type:=xlCellValue, _ 
    Operator:=xlLess, Formula1:="="".8*($L$" & TheRow & "/10)""" 
    target.FormatConditions(1).Font.ColorIndex = 3 'Red 
End Sub 

그리고 이것은 내가 그것을 호출하는 방법입니다 :

=SUM(B9:K9) 

답변

1

당신은 너무 많은 따옴표를 수식 정의 :

Call SetFirst2(9, ShTheSheet.Range("B9:K9")) 

열 L은이 공식이 포함되어 있습니다. 이 기능은 정상적으로 작동합니다 (Excel 2010에서 성공적으로 테스트 됨).

Formula1:="=.8*($L$" & TheRow & "/10)" 
+0

감사합니다. 그것은 당신이 말한대로 작동합니다. – RoseAb

+0

@ RosAb : 환영합니다. – djikay