Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen vergleichen und farblich markieren

Zellen vergleichen und farblich markieren
07.02.2017 09:44:44
Markus
Hallo zusammen,
ich hoffe ihr könnt mir weiter helfen.
Ich steh vor der Aufgabe zwei Exceltabellen zu vergleichen. Es wurde teilweise der Text in einzelnen Zellen ergänzt und es kamen Zeilen hinzu.
Wie schaffe ich es nun, die beiden Tabellenblätter zu vergleichen und die hinzugefügten oder geänderten Stellen farblich zu markieren?!
Ich habe in der Suche das gefunden:
StandardModule: basMain
Sub Vergleich()
Dim wks As Worksheet
Dim var As Variant
Dim iRow As Integer
Set wks = Worksheets("Tabelle2")
For iRow = 1 To WorksheetFunction.CountA(Columns(1))
var = Application.Match(Cells(iRow, 1).Value, wks.Columns(1), 0)
If Not IsError(var) Then
Cells(iRow, 1).Interior.ColorIndex = 3
wks.Cells(var, 1).Interior.ColorIndex = 3
End If
Next iRow
End Sub
Aber das vergleich ja nur Zellen miteinander und markiert diese, wenn Sie identisch sind.
Wie kann ich das Makro noch ergänzen/ändern?
Vielen, vielen Dank,
Markus
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
doppelt ... owT
07.02.2017 11:07:12
 Matthias
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellen vergleichen und farblich markieren in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Zellen zu vergleichen und farblich zu markieren, kannst Du die folgenden Schritte befolgen:

  1. Öffne Deine Excel-Datei mit den beiden Tabellen, die Du vergleichen möchtest.

  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Neues Modul erstellen:

    • Klicke im Menü auf Einfügen und dann auf Modul.
  4. Code einfügen:

    • Füge den folgenden Code in das Modul ein:
    Sub Vergleich()
       Dim wks As Worksheet
       Dim var As Variant
       Dim iRow As Integer
       Set wks = Worksheets("Tabelle2")
       For iRow = 1 To WorksheetFunction.CountA(Columns(1))
           var = Application.Match(Cells(iRow, 1).Value, wks.Columns(1), 0)
           If Not IsError(var) Then
               Cells(iRow, 1).Interior.ColorIndex = 3 ' Rot
               wks.Cells(var, 1).Interior.ColorIndex = 3 ' Rot
           Else
               Cells(iRow, 1).Interior.ColorIndex = 6 ' Gelb, wenn nicht gefunden
           End If
       Next iRow
    End Sub
  5. Makro ausführen:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Drücke ALT + F8, wähle Vergleich und klicke auf Ausführen.
  6. Ergebnisse überprüfen:

    • Die Zellen in der ersten Tabelle, die in der zweiten Tabelle nicht vorhanden sind, werden gelb markiert. Identische Zellen werden rot hervorgehoben.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs."

    • Lösung: Stelle sicher, dass der Arbeitsblattname (Tabelle2) korrekt ist. Überprüfe die Schreibweise.
  • Fehler: Zellen werden nicht farblich markiert.

    • Lösung: Vergewissere Dich, dass Du die richtige Spalte für den Vergleich wählst. Der Code vergleicht nur die erste Spalte.

Alternative Methoden

  • Bedingte Formatierung:

    1. Markiere die Zellen in der ersten Tabelle.
    2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
    3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gib eine Formel wie =A1<>Tabelle2!A1 ein.
    4. Wähle eine Formatierung aus, um die Zellen hervorzuheben.
  • Power Query:

    • Nutze Power Query, um Daten aus beiden Tabellen zu importieren und Unterschiede zu identifizieren. Dies ist besonders nützlich bei großen Datenmengen.

Praktische Beispiele

  • Vergleich von Preisen:

    • Wenn Du zwei Preistabellen hast, kannst Du die oben genannten Schritte verwenden, um die Unterschiede in den Preisen farblich zu markieren.
  • Textvergleich:

    • Um Texte zu vergleichen, kannst Du die gleiche Methode anwenden, indem Du sicherstellst, dass die Zellen als Text formatiert sind.

Tipps für Profis

  • Dynamische Bereiche: Verwende dynamische Bereiche, um sicherzustellen, dass Dein Makro auch bei Änderungen in der Tabelle automatisch funktioniert.
  • Schleifen optimieren: Wenn Du viele Zeilen hast, kann es sinnvoll sein, Schleifen zu optimieren, um die Performance zu steigern.
  • Benutzerdefinierte Farben: Statt der vordefinierten ColorIndex-Farben kannst Du RGB-Farben verwenden, um spezifischere Farbnuancen zu erhalten.

FAQ: Häufige Fragen

1. Kann ich auch mehr als zwei Tabellen vergleichen? Ja, Du kannst den Code erweitern, um mehrere Tabellen zu vergleichen, indem Du zusätzliche Schleifen hinzufügst.

2. Funktioniert das auch in Excel Online? Leider unterstützt Excel Online keine VBA-Makros. Du musst die Desktop-Version von Excel verwenden.

3. Wie kann ich die Markierung wieder entfernen? Du kannst den Bereich erneut markieren und die Hintergrundfarbe auf Keine Füllung setzen, um die Markierung zu entfernen.

4. Gibt es eine Möglichkeit, die Unterschiede in einer neuen Tabelle aufzulisten? Ja, du kannst den Code anpassen, um die Unterschiede in eine neue Tabelle zu kopieren, anstatt sie nur farblich zu markieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige