2017-01-31 1 views
1

Durch die ungerade Chance kann jemand sehen, was mit den VB Codes unten falsch ist.Laufzeitfehler 5, ungültiger Prozeduraufruf oder Argument

Laufzeitfehler 5, ungültiger Prozeduraufruf oder Argument

Der Fehler auf dem folgende Stück Code markiert ist

wssheet1.Range("BC" & x).FormatConditions.Add Type:=xlExpression, Formula1:= _ 
     "=AND(COUNTIF(Ratecard!Q:Q,BC3)=0,AN3>0) = TRUE" 

ist hier den ganzen Code:

Sub TestLook() 
Set wsWhiteCollar = ThisWorkbook.Worksheets("White Collar") 
Set wssheet1 = ThisWorkbook.Worksheets("WEW") 

wsWhiteCollar.Activate 

'wssheet1.Activate 

EndWC = wssheet1.Range("B" & Rows.Count).End(xlUp).Row 'i.e. column B last row 24 to 25 on my WEW table 


Application.ScreenUpdating = False 

For Each c In wsWhiteCollar.Range(wsWhiteCollar.Range("A2"), wsWhiteCollar.Range("A" & Rows.Count).End(xlUp)) 

    For x = 2 To EndWC Step 1 
     wssheet1.Activate 
     wssheet1.Range("B" & x).Select 

     If c.Value = wssheet1.Range("B" & x).Value Then 

      wssheet1.Range("BC" & x).FormatConditions.Delete 
      wssheet1.Range("BC" & x).FormatConditions.Add Type:=xlExpression, Formula1:= _ 
      "=AND(COUNTIF(Ratecard!Q:Q,BC3)=0,AN3>0) = TRUE" 
      wssheet1.Range("BC" & x).FormatConditions(1).SetFirstPriority 

      With wssheet1.Range("BC" & x).FormatConditions(1).Interior 
       .PatternColorIndex = xlAutomatic 
       .Color = 255 
       .TintAndShade = 0 
      End With 

      wssheet1.Range("BC" & x).FormatConditions(1).StopIfTrue = False 
      wssheet1.Range("BC" & x).FormatConditions.Add Type:=xlExpression, Formula1:= _ 
       "=AND(COUNTIFS(White Collar!A:A,B3, White Collar!U:U,BC3)=0, AV3=0) = TRUE" 

      With wssheet1.Range("BC" & x).FormatConditions(2).Interior 
       .PatternColorIndex = xlAutomatic 
       .Color = 49407 
       .TintAndShade = 0 
      End With 
      Exit For 
     ElseIf Selection.Interior.ThemeColor <> xlThemeColorAccent2 Then 
      With Selection.Interior 
       .Pattern = xlSolid 
       .PatternColorIndex = xlAutomatic 
       .ThemeColor = xlThemeColorLight1 
       .TintAndShade = 0 
       .PatternTintAndShade = 0 
      End With 
     End If 
     wsWhiteCollar.Activate 
    Next x 
Next c 
'Application.ScreenUpdating = True 
'wssheet1.Range("B2").Select 
End Sub 
+2

Sie können nicht auf andere Blätter in einer bedingten Formatierungsformel verweisen, Sie werden feststellen, dass 'Ratecard!' Den Fehler entfernen soll, aber dann geben Sie nicht die gewünschte Formel. –

+0

Seien Sie sich bewusst, dass Sie das gleiche Problem mit "White Collar!" Haben, also müssen Sie auch dafür arbeiten. –

+0

Hallo Tim, danke für dein Feedback so prompt. Ich hatte eine ähnliche Formel mit der Ratecard! innerhalb der Bedingungsformel, die gut funktioniert, aber merkwürdigerweise scheint nicht das Problem mit meinem letzten Beitrag zu verstehen. Irgendwelche anderen Sachen, die auf meinem Code auf diesem Problem als "falsch" hervortreten, das Sie ausmachen können? – EchoL

Antwort

0

Platzieren Sie die Formel COUNTIF (Ratecard! Q: Q, BC3) in einer neuen Zelle und verweisen Sie dann auf diese Zelle in Ihrem Bedingte Formatierung.

+0

Hallo Mike, danke für deine Vorschläge. Würdest du ein Beispiel teilen können, weil du nicht sicher bist, wie das geht? – EchoL

Verwandte Themen