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

Forumthread: Zeilen einfärben nach Bedingung

Zeilen einfärben nach Bedingung
17.06.2005 10:57:01
Daniel
Hallo Leute,
ich habe eine Tabelle in der ich Mitarbeiter eintragen kann. In der Spalte A den Namen des MA und in der Spalte B seine Funktion (HW, SW, Mech., Qualität, PL und Rob.). Nun möchte ich mit einem Makro erreichen, dass wenn z.B. in der Spalte B "HW" steht diese Zeile z.B. blau eingefärbt wird. Und das selbe bei den anderen Funktionen (SW, Mech...). Wenn sich das ganze nun auch noch automatisch sortieren könnte wäre das ein Traum.
Vieleicht kann mir ja von Euch einer helfen.
Danke schon mal
Daniel
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:02:05
steifinga
Hallo Daniel!
Versuchsmal mit
Format/Bedingte Formatierung...
Hier kannst du eintragen was in der Zelle stehen muss damit eine gewisse Formatierung sprich Farbe oder Schriftart automatisch verwendet wird.
mfg
steifinga
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:07:47
Daniel
Das hab ich schon probiert. Das bezieht sich allerdings immer nur auf eine Zelle. Ich möchte, dass wenn eine Zelle in der Spalte B eine Bedingung erfüllt, sich die komplette Zeile einfärbt. Mmmh, das krieg ich mit der bedingeten Formatierung nicht hin, oder?
Anzeige
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:12:25
steifinga
Nein das geht nicht, tut mir leid dann weiß ich auch nicht weiter
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:13:19
Dr.
Falsch, das geht schon mit der bedingten Formatierung. Allerdings nicht bei mehr als drei Bedingungen. Also wirst Du nicht um VBA herumkommen.
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:16:11
Daniel-
Kann mir bitte jemand mit einem Makro helfen? Ich stehe leider noch ganz am Anfang mit meiner VBA Karrieren :)
Gruß
Daniel
Anzeige
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:15:41
Harald
Hi Daniel,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer, farbe As Integer
If Target.Column > 1 Then Exit Sub
For i = 1 To 100
Select Case Cells(i, 1)'für Zellen A1:A100
Case "Mechaniker"
farbe = 35
Case "Techniker"
farbe = 3
Case "Meister"
farbe = 4
Case "HW"
farbe = 5
Case Else
farbe = xlNone 'wenn keine Übereinstimmung
End Select
With Cells(i, 1) 'Trefferzelle in Spalte 1 = A
.Interior.ColorIndex = farbe
End With
Next i
End Sub

Ins Blattmodul kopieren. Case kannst Du erweitern/anpassen.
Hier noch ein Code, der die Farben incl. Index liefert (bitte in ein leeres Blatt ;-))
Sub FarbeundIndex()
For i = 1 To 56
Cells(i, 1).Interior.ColorIndex = i
Cells(i, 2) = i
Next i
End Sub
Gruß
Harald
Anzeige
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:22:24
Daniel
Hallo Harald,
danke für Deine Hilfe. Das funktioniert sehr gut. Allerdings nur für die jeweilige Zelle. Ich hätte gerne, dass sich die komplette Zeile einfärbt. Ginge das?
Gruß
Daniel
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:31:45
Harald
Hi Daniel,
hmmm. Das sind immerhin 256 Zellen pro Zeile. Das bläht dir den "Usedrange" unnötig auf.
Statt
With Cells(i, 1)
kannste
With Rows(i) 'für ganze Zeile
oder
With Range("A" & i & ":Z" & i) 'für Spalten A bis Z
schreiben.
Gruß
Harald
Anzeige
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:37:39
Kurt
ähh,
wäre das nicht eventuell einfacher ;-)
Rows(i).Interior.ColorIndex = farbe
...und Tschüss Kurt
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:43:56
Harald
Hast Recht Kurt, wenn es nur um eine Aktion in diesem Bereich geht.
Will er noch fette Schrift oder sonstwas, fährt er mit der With-Anweisung besser.
Gruß
Harald
AW: Zeilen einfärben nach Bedingung
17.06.2005 11:45:10
Daniel
Hallo Harald,
danke, genau das hab ich gesucht. Hab nur noch eine Frage. Was muss ich verändern, wenn die Bedingung nicht in der Spalte A ist sonder in B, und sich das ganze nur auf die Zeilen 3 bis 39 bezieht. Ich hoffe ich nerv nicht :)
Danke
Anzeige
AW: Zeilen einfärben nach Bedingung
17.06.2005 12:03:34
Harald
Schon ok. Was vba betrifft, hab ich auch immer noch mehr Fragen als Antworten ;-))
cells(Zeile, Spalte) z.B: Range("B1") ist demnach cells(1, 2)
For i = 3 To 39
Select Case Cells(i, 2)
Gruß
Harald
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilen einfärben nach Bedingung in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Zeilen einzufärben, wenn eine bestimmte Bedingung erfüllt ist, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu erreichen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das modul:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim i As Integer, farbe As Integer
       If Target.Column <> 2 Then Exit Sub 'Nur Spalte B
       For i = 3 To 39 'Zeilen 3 bis 39
           Select Case Cells(i, 2).Value
               Case "HW"
                   farbe = 5 'Blau
               Case "SW"
                   farbe = 3 'Rot
               Case "Mech."
                   farbe = 4 'Grün
               Case Else
                   farbe = xlNone 'Keine Farbe
           End Select
           Rows(i).Interior.ColorIndex = farbe ' Ganze Zeile einfärben
       Next i
    End Sub
  4. Schließe den VBA-Editor und kehre zu deiner Excel-Tabelle zurück.

  5. Teste das Makro, indem du in der Spalte B eine der Bedingungen eingibst, um die Zeilen einfärben zu lassen.


Häufige Fehler und Lösungen

  • Makro funktioniert nicht: Stelle sicher, dass du das Makro in das richtige Blattmodul eingefügt hast. Es sollte im Modul des Arbeitsblattes sein, das die Bedingung überprüft.
  • Farbe wird nicht angewendet: Überprüfe, ob die Bedingungen im Select Case korrekt definiert sind und ob die Werte in Spalte B genau übereinstimmen (z.B. keine zusätzlichen Leerzeichen).
  • Bedingte Formatierung nicht aktiv: Wenn du bereits bedingte Formatierungen eingerichtet hast, könnte das die Funktion des Makros stören. Lösche diese, um Konflikte zu vermeiden.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die Bedingte Formatierung in Excel verwenden. Hier ist, wie du das machst:

  1. Wähle die Zeilen aus, die du einfärben möchtest.
  2. Gehe zu Start > Bedingte Formatierung.
  3. Wähle Neue Regel > Formel zur Ermittlung der zu formatierenden Zellen verwenden.
  4. Gib eine Formel ein, die die Bedingung prüft, z.B.: =$B3="HW".
  5. Wähle das gewünschte Format (z.B. Hintergrundfarbe) und bestätige.

Beachte, dass diese Methode auf die Formatierung einzelner Zellen beschränkt ist, nicht auf ganze Zeilen.


Praktische Beispiele

Hier sind einige Beispiele, wie du die Zeilen einfärben kannst:

  • Färbe die Zeile blau, wenn in Spalte B "HW" steht:

    Case "HW"
       farbe = 5
  • Färbe die Zeile rot, wenn in Spalte B "SW" steht:

    Case "SW"
       farbe = 3

Du kannst die Farbwerte nach Belieben anpassen, um unterschiedliche Bedingungen darzustellen.


Tipps für Profis

  • Erweiterung der Bedingungen: Du kannst die Select Case-Anweisung erweitern, um mehr Bedingungen und Farben hinzuzufügen.

  • Optimierung: Um die Ausführung zu beschleunigen, kannst du die Eigenschaft Application.ScreenUpdating auf False setzen, bevor der Code ausgeführt wird, und auf True setzen, wenn der Code abgeschlossen ist.

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Verwendung von benannten Bereichen: Erstelle benannte Bereiche für die zu überwachenden Zellen, um den Code übersichtlicher zu gestalten.


FAQ: Häufige Fragen

1. Kann ich die Farben anpassen?
Ja, du kannst die Farbcodes im VBA-Code entsprechend deinen Wünschen ändern.

2. Funktioniert das auch in Excel 365?
Ja, dieser VBA-Code funktioniert in Excel 365 und den meisten anderen Versionen von Excel.

3. Was, wenn ich mehr als drei Bedingungen habe?
In diesem Fall ist es sinnvoller, die Bedingungen mit VBA zu steuern, da die bedingte Formatierung in Excel in der Regel auf drei Bedingungen beschränkt ist.

4. Wie kann ich das Makro speichern?
Speichere die Excel-Datei als .xlsm-Datei, um die Makros zu erhalten.

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