Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1580to1584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bedingte Formatierung mit VBA

Bedingte Formatierung mit VBA
21.09.2017 10:00:32
Georg
Hallo liebe MitgliederInnen,
folgender Code:
Private Sub Worksheet_Change(ByVal Target As range)
On Error GoTo ERREXIT
Application.EnableEvents = False
Select Case Target.Column
Case 11 'K
Select Case Target.Value
Case Is = "AU ganztägig", "AU untertägig", "Urlaub"
Cells(Target.Row, 4).Resize(, 3).ClearContents 'D:F löschen
End Select
Case 4 To 6 'D:F
Select Case Cells(Target.Row, 11)
Case Is = "AU ganztägig", "AU untertägig", "Urlaub"
Target.ClearContents
End Select
Case 4 To 6 'D:F
Select Case Cells(Target.Row, 11)
Case Is = "AU ganztägig", "AU untertägig", "Urlaub"
Target.FormatConditions(1).Interior
.Pattern = xlGray16
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
End Select
End Select
ERREXIT:
Application.EnableEvents = True
End Sub
Was nicht passt, ist die Formatierung (es passiert nix). Was ich möchte: Steht einer der Cases "Urlaub" etc... z. B. in K5 drin, soll D5:F5 entsprechend formatiert werden! Was mache ich falsch?
Danke. Georg

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Formatierung mit VBA
21.09.2017 10:15:13
ChrisL
Hi Georg
Die Datei für den Test nach zu bauen ist mir zu mühsam, aber vielleicht hilft:
https://support.microsoft.com/de-ch/help/895562/the-conditional-formatting-may-be-set-incorrectly-when-you-use-vba-in
cu
Chris
AW: Bedingte Formatierung mit VBA
21.09.2017 10:38:31
Georg
Danke für den Tipp, nur ich komme mit der MS Hilfe auch nicht wirklich klar. Noch j-d eine Idee?
AW: Bedingte Formatierung mit VBA
21.09.2017 13:47:00
Daniel
Hi
kleiner Tip:
wenns nicht funktioniert wie gewünscht, als erstes den pauschalen Fehlersprung am Anfang deaktivieren.
(Hochkomma davorsetzen).
Wenn der Code beim Fehler stopt, hast du zumindest einen Anhaltspunkt, wo der Fehler liegen könnte und kannst auch das Umfeld besser prüfen.
Auch wenn du dann ggf die Events wieder von Hand aktivieren musst, solange du testest sind solche pauschalen Fehlersprünge kontraproduktiv. Die kann man dann einbauen, wenn der Code fertig ist und fehlerfrei läuft (um dann vielleicht noch irgendwelche nicht vorhersehbare Anwenderaktionen abzufangen)
beachte dass dein Code nur dann funktioniert, wenn genau eine Zelle bearbeitet wird.
umfasst Target mehrere Zellen, so wird Target.Value ein zweidimensionales Array und das kannst du nicht mehr mit Einzelwerten vergleichen.
hier müsste eine Schleife über die Zellen von Target laufen (For Each Zelle in Target) und dann die ganze Aktion mit "Zelle" anstelle von "Target" ausgeführt werden.
weiterhin hast du im Select Case 2x die gleiche Bedingung (Case 4 to 6)
von diesen beiden wird immer nur die erste ausgeführt.
Dh sobald ein Case-Fall zutreffend war, verlässt der Code das Select-Case und die nachfolgenden Case-Fälle werden gar nicht mehr überprüft.
Du müsstest hier also den Code aus dem unteren Case-Fall in den oberen mit reinpacken
gruß Daniel
Anzeige

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige