Ich habe eine Überprüfung, die sicherstellt, dass keine Zellen in einer Reihe mit Rot (colorindex 3) gefüllt sind, bevor Sie mit der Funktion aber ActiveCell.Offset (a, b) .Interior.ColorIndex gibt seltsamerweise '-4142' zurück. Wer hat das schon einmal erlebt/einen Fehler in meinem Code bemerkt?VBA - ActiveCell.Interior.ColorIndex -4142 Fehler durch bedingte Formatierung
If UCase(ActiveCell.Offset(0, -1).Value) = "X" Then
For i = 0 To 7
If ActiveCell.Offset(0, i).Interior.ColorIndex = 3 Then
MsgBox "Correct fields highlighted in red."
Exit Sub
End If
Next
ident = ActiveCell.Value
verNo = ActiveCell.Offset(0, 1).Value
title = ActiveCell.Offset(0, 2).Value
status = ActiveCell.Offset(0, 3).Value
location = ActiveCell.Offset(0, 4).Value
appDate = ActiveCell.Offset(0, 6).Value
ccRef = ActiveCell.Offset(0, 7).Value
Wo ich die Markierung zunächst hinzufügen:
With ThisWorkbook.Worksheets("Document Index").Range("B5:B500")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=AND(($B5=""""),
$A5=""X"")"
.FormatConditions(1).Interior.ColorIndex = 3
.FormatConditions.Add Type:=xlExpression, Formula1:="=AND(($B5<>""""),
$A5=""X"")"
.FormatConditions(2).Interior.ColorIndex = 37
End With
Ja, guter Punkt, aber das Blatt ist nicht gesperrt. Es muss einen anderen Grund geben, warum er nicht auf die Zelle zugreifen kann, die ich nicht wahrnehme. Ich verstehe auch nicht, warum es die Zelleneigenschaften immer noch nicht lesen kann, wenn die Blätter gesperrt sind. –
@KieranHughes mehr Code anzeigen ... – Vityata
nicht sicher, was ich sonst noch zeigen kann, was relevant ist, habe ich den Hauptbeitrag mit etwas mehr Code aktualisiert. Ich habe definitiv keine Schutzanrufe für dieses bestimmte Blatt. –