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

Forumthread: VBA: Gleiche Werte untereinander

VBA: Gleiche Werte untereinander
09.10.2020 12:03:54
Jan
Hallo zusammen,
wie kann ich in VBA die gleichen und direkt untereinanderstehenden Werte in Spalte A (siehe angehängte Datei) zählen und farblich markieren?
Ich möchte lediglich nur gleiche Werte farblich markieren, wenn mehr als 3 untereinander stehen.
Danke für Hilfe vorab.
https://www.herber.de/bbs/user/140759.xlsx
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Gleiche Werte untereinander
09.10.2020 13:19:47
JoWE
Hallo Jan,
versuch mal:
Sub faerben_mit_Bedingung()
For Each w In Range("A2:A99")
If Cells(w.Row, 1) > 0 And _
Application.WorksheetFunction.Sum(Range(Cells(w.Row, 1), _
Cells(w.Row + 2, 1))) = w.Value * 3 Then
With Sheets(1).Range(Cells(w.Row, 1), Cells(w.Row + 2, 1))
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=A" & _
w.Row & "= " & w.Value
.FormatConditions(1).Interior.ColorIndex = 6
End With
End If
Next
End Sub

Gruß
Jochen
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

Gleiche Werte untereinander in Excel farblich markieren


Schritt-für-Schritt-Anleitung

Um gleiche Werte, die direkt untereinander in Spalte A stehen, zu zählen und farblich zu markieren, kannst Du den folgenden VBA-Code verwenden. Dieser Code markiert nur Werte, wenn mehr als drei identische Werte untereinander stehen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem Du im linken Fenster mit der rechten Maustaste auf den Projektbaum klickst und „Einfügen“ > „Modul“ auswählst.
  3. Kopiere den folgenden Code in das Modul:
Sub faerben_mit_Bedingung()
    For Each w In Range("A2:A99")
        If Cells(w.Row, 1) > 0 And _
        Application.WorksheetFunction.Sum(Range(Cells(w.Row, 1), _
        Cells(w.Row + 2, 1))) = w.Value * 3 Then
            With Sheets(1).Range(Cells(w.Row, 1), Cells(w.Row + 2, 1))
                .FormatConditions.Delete
                .FormatConditions.Add Type:=xlExpression, Formula1:="=A" & _
                w.Row & "= " & w.Value
                .FormatConditions(1).Interior.ColorIndex = 6
            End With
        End If
    Next
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus, indem Du auf Entwicklertools > Makros klickst und das erstellte Makro auswählst.

Jetzt werden alle Werte in Spalte A, die mehr als dreimal hintereinander stehen, farblich markiert.


Häufige Fehler und Lösungen

  • Fehler: „Fehler beim Ausführen des Makros“

    • Lösung: Überprüfe, ob die Zellen in Spalte A tatsächlich Werte enthalten und ob der Bereich korrekt definiert ist.
  • Fehler: „Farbe wird nicht angezeigt“

    • Lösung: Stelle sicher, dass die Bedingung für die Formatierung korrekt eingestellt ist und dass Du die richtige ColorIndex-Nummer verwendest.

Alternative Methoden

Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch die bedingte Formatierung in Excel nutzen:

  1. Markiere den Bereich (z.B. A2:A99).

  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.

  3. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.

  4. Gib folgende Formel ein:

    =UND(A2=A1;A2=A3)
  5. Wähle eine Formatierung aus (z.B. Hintergrundfarbe) und klicke auf „OK“.

Diese Methode ist einfacher, hat jedoch ihre Einschränkungen, da sie nicht für die Zählung von mehr als drei Werten geeignet ist.


Praktische Beispiele

Angenommen, Du hast folgende Daten in Spalte A:

A
1
1
1
2
2
3
3
3
3

Wenn Du das VBA-Skript ausführst, wird die Zellen A1 bis A3 sowie A6 bis A9 farblich markiert, da diese Werte mehr als dreimal hintereinander stehen.


Tipps für Profis

  • Leistungsoptimierung: Wenn Du mit großen Datenmengen arbeitest, überlege, den Bereich in der Schleife anzupassen, um die Ausführungsgeschwindigkeit zu erhöhen.
  • Anpassung der Farben: Du kannst die ColorIndex-Eigenschaft ändern, um verschiedene Farben zu verwenden. Eine Liste der verfügbaren Farben findest Du in der Excel-Dokumentation.

FAQ: Häufige Fragen

1. Wie kann ich den Bereich ändern, den das Makro überprüft? Ändere einfach den Bereich in der Zeile For Each w In Range("A2:A99"), indem Du die Zellreferenzen anpasst.

2. Funktioniert dieser Code in Excel 365? Ja, der Code funktioniert in Excel 365 sowie in anderen Versionen, die VBA unterstützen.

3. Kann ich das Makro für andere Spalten verwenden? Ja, ändere einfach die Zellreferenzen im Code entsprechend der Spalte, die Du überprüfen möchtest.

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