Ich versuche, bedingte Formatierung in 18 Zellen in der dritten Spalte ("C") festzulegen. Ich habe jeweils 6 Zellen in der ersten Spalte ("A") und nicht zusammengefasste (normale) Zellen in der zweiten Spalte ("B") zusammengeführt. Ich versuche, für jede nächste Zelle in Zeile der Spalte "C" zu überprüfen, ob in der ersten Zeile der Spalte "A" ein "Ja" ist oder ob in Spalte "A" ein "Nein" und in B "Spalte. Der Trick ist, ich möchte nur die erste Reihe von "A" Spalte, siebte, dreizehnte und neunzehnte überprüfen (also mit dem Schritt = 6) und überprüfen Sie jede Zeile in "B" Spalte. Ich versuche, so etwas wie diese:VBA Bedingte Formatierung mit veränderbaren Bedingungen
Sub try()
Dim i As Integer
Dim j As Integer
i = 1
For j = 1 To 12
With Range("C1:C18")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=OR(Cells(i, 1) = ""Yes""; AND(Cells(i, 1) = ""No""; Cells(j, 2) = ""Pass""))"
End With
If j Mod 6 = 0 Then
i = i + 6
Next j
End Sub
Aber es funktioniert nicht so, ich sah Beispiele mit spezifischen Zellen wie „A1“ oder „A3“ aber ich mag eine Zahl mit jeder Schleife zu erhöhen (so habe ich versucht, es mit Zellen (Zeile, Spalte)).
Es funktioniert nicht in dieser Form – Asia
@Asia Der Code ist vollständig getestet und funktioniert genau so, wie Sie beschrieben haben. Überprüfen Sie, ob Sie 'sheet1' haben, und dass Sie verschmolzene Regionen sind:' A1: A6', 'A7: A12',' A13: A18', 'A19: A24' und' A25: A30'. In Ihrem OP gibt es einen Fehler, der besagt: * "erste Zeile von" A "Spalte, sechste, zwölfte und achtzehnte (also mit dem Schritt = 6)" * Wenn der Schritt 6 ist, sollten die Zeilen '1, 7, 13, 19 sein ', das habe ich in meiner Antwort berücksichtigt. Aber Sie müssen es überprüfen. –
Ja, ich meinte 1, 7, 13 und 19. Aber ich bekomme immer noch diese Nachricht: 'Laufzeitfehler' 5 'Ungültiger Prozeduraufruf oder Anweisung' – Asia