Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bedingte Formatierung mittels VBA

Bedingte Formatierung mittels VBA
20.10.2006 11:14:48
snoopyine
Hallo zusammen,
vorab, ich habe mich über die Suchfunktion schon kundig gemacht, aber leider keine Lösung gefunden.
Das Problem :
Ich möchhte in einer Tabelle die Zeile markieren, wenn in der Spalte F der Zeile entweder der Wert Wert5 ist. Allerdings soll nicht die ganze Zeile sondern nur die Spalten B bis F der Zeile formatiert werden.
Kam weder mit Case noch mit dem Makro-Recorder zu meiner LÖsung.
Hat jemand Ahnung wie es funktioniert?
Für Hilfe, Tipps und Hinweise wäre ich dankbar.
Grüße
Snoopyine
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Formatierung mittels VBA
20.10.2006 11:35:22
Daniel
Hallo,
- Spalte B bis F markieren
- STRG gedrückt halten und B1 nochmal anklicken
- Bedingte Formatierung aufrufen
- in Combobox auf Formel wechseln
- als Formelen eingeben:
1. bedingung: =$F1&lt=0
2. Bedingung: =$F1&lt5
3. Bedingung: =$F1&gt5
dann sollte es gehen.
Gruß, Daniel
Anzeige
AW: Bedingte Formatierung mittels VBA
20.10.2006 11:48:30
snoopyine
Hallo Daniel,
danke erst einmal.
Die "normale" bedingte Formatierung kenne ich und die ist auch kein Problem. Ich möchte jedoch die Bedingte Formatierung über ein Makro ausführen lassen. Die Formatierung ist nur ein kleiner Teil eines größern Makros, das mir die Daten so aufbereitet und berechnet wie ich es benötige.
Grüße
Anzeige
Überprüfe Deine logischen Anforderungen
20.10.2006 11:36:10
urs
Hallo snoopyine
Du machst in der Auswahllogik einen Fehler. kontrolliere das noch mal!!!!!
Wert &lt= 0 sind alle Werte (im Bereich -unedlich bis und mit 0 )
mit den 2 nächsten Formeln erschlägst Du Alle Werte über 0
Jetzt markierst Du eigentlich allles. Es spielt gar keine Rolle ob und welchen wert du eingibst!!
Gruss urs
Anzeige
AW: Überprüfe Deine logischen Anforderungen
20.10.2006 11:55:39
snoopyine
Hallo urs,
sorry falls ich mich undeutlich/missveständlich ausgedrückt habe.
1. Bedingung : kleiner/gleich 0, grün
2. Bedingung: größer 0, aber unter 5, gelb
3. Bedingung: größer/gleich 5, rot
wenn ich Format-bedingte Formatierung aufrufe und die drei Bedingngen eingeben , funktioniert es. Die Formatierung ist Teil eines größern Makros zur Datenaufbereitung und -rechnung.
Danke
Sandra
Anzeige
AW: Überprüfe Deine logischen Anforderungen
20.10.2006 12:00:58
Daniel
Hallo
in der Bedingten Formatierung wird von den 3 möglichen die erste passende genommen.
sollten noch weitere zutreffen, werden diese ignoriert.
Deswegen braucht man in diesem Fall die Formatbedingungen nicht exakt und gegenseitig ausschließend zu formuliern. Man muß dann aber die Reihenfolge berücksichtigen.
Gruß, Daniel
Anzeige
AW: Überprüfe Deine logischen Anforderungen
20.10.2006 12:13:55
snoopyine
hallo urs,
danke für den Hinweis. Habe ich bisher nie drauf geachtet !
Angenommen ich würde nur sagen entweder über oder unter 5.
wie würde ich das am besten als Makro verfassen?
so das nur der Bereich B-F der Zeile (i) makiert wird und der Wert in der Zelle(i,6) steht.
Grüße
Snoopyine
Anzeige
AW: Bedingte Formatierung mittels VBA
20.10.2006 12:13:07
Daniel
Hallo
bei mir liefert der Makro-Recorder folgendes Ergebnis und das Aufgezeichnete Makro läuft auch einwandfrei. Könnte höchsten noch an deiner Excel-Version liegen, ich habe Office 2002.

Columns("B:F").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F1<=0"
Selection.FormatConditions(1).Interior.ColorIndex = 35
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F1<5"
Selection.FormatConditions(2).Interior.ColorIndex = 36
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F1>=5"
Selection.FormatConditions(3).Interior.ColorIndex = 40

ich habe nur die Erfahrung gemacht, daß es besser ist, beim Programmieren der Bedingten Formatierung das Select NICHT zu entfernen, da er sonst manchmal mit den Bezügen innerhalb der Bedingungen durcheinander kommt.
Gruß, Daniel
Anzeige
AW: Bedingte Formatierung mittels VBA
20.10.2006 12:19:01
snoopyine
Hallo Daniel,
soweit war ich auch schon. Mein Problem ist dann Range().wie kann ich VBA klar machen, dass es nur den Bereich B-F der Zeile(i)makieren soll?
Auch wenn ich das so später ein zeites mal als Makro abspiele hat VBA mit der Bezeichnung "Formula1:="=$F1&lt5"" ein Problem (mit dem $). Keine Ahnung warum.
Du?
Grüße
Anzeige
AW: Bedingte Formatierung mittels VBA
20.10.2006 12:48:29
Daniel
Hallo
ich verstehe dein Problem nicht so ganz.
wie vergibts du den die bedingte Formatierung?
Zeilenweise in einer Schleife oder für einen ganzen Zellbereich?
Und wie gesagt, damit das ganze sauber funktioniert solltest du:
- den Zellbereich selektiern
- am besten noch die linke obere Zelle des Zellbereichs aktivieren
- die Bedinugung so formulieren, daß die für die Linke obere Zelle passt.
- Die Bedingung wird dann auf alle anderen markierten Zellen übertragen, dabei werden relative Zellbezüge mitverschoben.
zu deine ersten Frage noch:
Range(cells(i,2), cells(i,6))
wenn du nicht im Aktiven Sheet arbeitest, muß die Sheet-Bezeichnung bei den beiden Cells stehen und nicht vor Range, also
Range(Sheets(2).cells(i,2), sheets(2).cells(i,6))
macht zwar keinen Sinn, ist aber so.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bedingte Formatierung mit VBA in Excel


Schritt-für-Schritt-Anleitung

  1. Bereich auswählen: Wähle die Spalten B bis F in deiner Tabelle aus.
  2. Bedingte Formatierung öffnen: Halte die STRG-Taste gedrückt und klicke auf B1, um die Auswahl zu vervollständigen. Gehe zu "Bedingte Formatierung".
  3. Formel eingeben:
    • Stelle sicher, dass du in der Combobox auf "Formel" wechselst.
    • Trage die folgenden Formeln ein:
      1. Bedingung für kleiner/gleich 0: =$F1<=0
      2. Bedingung für größer 0 aber kleiner als 5: =$F1<5
      3. Bedingung für größer/gleich 5: =$F1>=5
  4. Format wählen: Wähle die entsprechenden Farben für die Bedingungen aus.
  5. Makro erstellen: Wenn du die bedingte Formatierung über ein VBA-Makro umsetzen möchtest, verwende den folgenden Code:
Sub BedingteFormatierungVBA()
    Dim i As Integer
    For i = 1 To 10 ' Beispiel für 10 Zeilen
        With Worksheets("Tabelle1").Range(Cells(i, 2), Cells(i, 6))
            .FormatConditions.Delete
            .FormatConditions.Add Type:=xlExpression, Formula1:="=$F" & i & "<=0"
            .FormatConditions(1).Interior.ColorIndex = 35 ' Grün
            .FormatConditions.Add Type:=xlExpression, Formula1:="=$F" & i & "<5"
            .FormatConditions(2).Interior.ColorIndex = 36 ' Gelb
            .FormatConditions.Add Type:=xlExpression, Formula1:="=$F" & i & ">=5"
            .FormatConditions(3).Interior.ColorIndex = 40 ' Rot
        End With
    Next i
End Sub

Häufige Fehler und Lösungen

  • Formel-Fehler: Achte darauf, dass du die korrekten Zeichen wie <, <=, >, und >= verwendest. Wenn du $ in deinen Formeln verwendest, stelle sicher, dass du es korrekt positionierst.
  • Falsche Zellbereiche: Wenn die bedingte Formatierung nicht funktioniert, überprüfe, ob der gewählte Bereich korrekt ist. Stelle sicher, dass du die erste Zelle des Bereichs richtig markierst.
  • Logische Formatierung: Wenn deine Bedingungen nicht wie gewünscht funktionieren, könnte die Reihenfolge der Bedingungen entscheidend sein. Die erste zutreffende Bedingung wird angewendet, und alle anderen werden ignoriert.

Alternative Methoden

Falls du die excel bedingte formatierung ohne VBA verwenden möchtest, kannst du die Formatierungen direkt über das Menü einrichten. Eine weitere Möglichkeit ist die Verwendung von Excel-Tabellen, die eine einfache Verwaltung der bedingten formatierung ermöglichen.


Praktische Beispiele

  1. Beispiel 1: Du möchtest die Zellen von B bis F in grün formatieren, wenn der Wert in Spalte F kleiner oder gleich 0 ist.
  2. Beispiel 2: Für Werte zwischen 0 und 5 kannst du eine gelbe Hintergrundfarbe wählen.
  3. Beispiel 3: Werte ab 5 sollen rot hinterlegt werden.

Diese Beispiele zeigen, wie du die excel bedingte formatierung größer als und größer gleich sowie kleiner als effizient nutzen kannst.


Tipps für Profis

  • Verwende VBA: Wenn du regelmäßig komplexe bedingte Formatierungen benötigst, ist die Verwendung von excel vba bedingte formatierung ein großer Vorteil. Du kannst damit spezifische Formatierungen automatisieren.
  • Relative Zellbezüge: Achte darauf, dass du relative Zellbezüge in deinen Formeln verwendest, damit die logische formatierung in den anderen Zellen korrekt angewendet wird.
  • Testen: Teste deine Formeln in einer kleinen Datenmenge, bevor du sie auf große Tabellen anwendest, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich die bedingte Formatierung für mehrere Bedingungen in VBA anwenden?
Verwende mehrere FormatConditions.Add-Anweisungen für jede Bedingung, wie im Beispiel oben gezeigt.

2. Warum funktioniert meine bedingte Formatierung nicht?
Überprüfe die Formeln auf Syntaxfehler und stelle sicher, dass die Zellreferenzen korrekt sind. Achte auch darauf, dass die Bedingungen nicht widersprüchlich sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige