Hallo,
ich habe eine größere Tabelle mit ca. 60 Spalten und 5000 Datensätzen/ Zeilen. Mittels VBA habe ich auf bestimmte Felder diverse Validierungsregeln gemacht, die die Funktion bedingte Formatierung von Excel verwendet.
Dazu habe ich 2 Fragen:
1. Kann ich die Anzahl der Felder, die durch die bedingte Formatierung markiert werden auslesen und ausgeben? Wenn ja wie?
2. Wie kann ich in VBA einzelne Validierungen an und ausschalten, gesteuert über das Tabellenblatt. Beispielsweise steht auf dem Tabellenblatt der Name und dahinter ist dann einfach ein Ja/Nein Feld mit dem ich steuern könnte, ob die Validierung durchlaufen wird oder nicht.
Ausschnitte aus dem Makro sehen so aus. Wenn das Makro ausgeführt wird werden zunächst alle bedingten Formatierungen gelöscht. Danach die einzelnen Validierungsregeln durchlaufen.
Sub ValidationRules()
' Delete all conditional formats on sheet Validation Sheet
Sheets("Validation Sheet").Cells.FormatConditions.Delete
' Switch to Validation Sheet
Sheets("C14.00 Validation Sheet").Select
' Validation Rule
' v7366
'
Range("ae3:ae5000").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=AND(ae3<>"""";ah3<>ad3+ae3)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
' Validation Rule
' v7675
'
Range("F3:F5000").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ISNA(MATCH(F3;LookupTables!$C$7:$C$9;0))"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
'...
End Sub
Hat jemand eine Idee und kann mir helfen?
Danke und viele Grüße
Jürgen
|