VBA zur Vergleich von Zellen und Auslesen von Werten in Excel
Schritt-für-Schritt-Anleitung
Um in Excel VBA Zellen zu vergleichen und Werte auszulesen, kannst Du den folgenden VBA-Code verwenden. Dieser Code vergleicht die Werte in Spalte A von zwei Tabellenblättern und gibt die übereinstimmenden Werte in ein drittes Tabellenblatt aus.
- Öffne Excel und drücke 
ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen. 
- Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".
 
- Kopiere den folgenden Code in das Modul:
 
Sub VergleichZellen()
    Dim loZelleBlatt1 As Long
    Dim loZelleBlatt2 As Long
    Dim loZelleBlatt3 As Long
    loZelleBlatt3 = 1
    For loZelleBlatt1 = 1 To Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
        For loZelleBlatt2 = 1 To Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
            With Sheets("Tabelle1")
                If .Cells(loZelleBlatt1, 1) = Worksheets("Tabelle2").Cells(loZelleBlatt2, 1) And _
                   .Cells(loZelleBlatt1, 2) = Sheets("Tabelle2").Cells(loZelleBlatt2, 2) Then
                    Sheets("Tabelle3").Cells(loZelleBlatt3, 1) = .Cells(loZelleBlatt1, 1)
                    Sheets("Tabelle3").Cells(loZelleBlatt3, 2) = .Cells(loZelleBlatt1, 2)
                    loZelleBlatt3 = loZelleBlatt3 + 1
                End If
            End With
        Next loZelleBlatt2
    Next loZelleBlatt1
End Sub
- Schließe den VBA-Editor und führe das Makro aus, indem Du 
ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst. 
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Funktion VERGLEICH in Excel verwenden, um Zellen zu vergleichen. Hier ein einfaches Beispiel:
- Verwende die Formel: 
=VERGLEICH(A1;Tabelle2!A:A;0)
 
- Diese Formel gibt die Position der Übereinstimmung in Tabelle 2 zurück, oder einen Fehler, wenn keine Übereinstimmung gefunden wird.
 
Praktische Beispiele
Hier ist ein Beispiel für den Vergleich von zwei Zellen:
Angenommen, Du hast in "Tabelle1" die Werte in A1 und B1 und in "Tabelle2" die Werte in A2 und B2. Du möchtest diese vergleichen:
If Worksheets("Tabelle1").Cells(1, 1) = Worksheets("Tabelle2").Cells(2, 1) Then
    ' Zellen sind gleich
End If
Du kannst diese Logik anpassen, um mehrere Zellen zu vergleichen, indem Du Schleifen verwendest, wie im obigen VBA-Code gezeigt.
Tipps für Profis
- 
Nutze die Application.ScreenUpdating = False, um die Aktualisierung des Bildschirms während des Makros zu deaktivieren. Dies kann die Ausführungsgeschwindigkeit erhöhen.
 
- 
Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
 
- 
Teste den VBA-Code immer in einer Kopie Deiner Datei, um Datenverlust zu vermeiden.
 
FAQ: Häufige Fragen
1. Wie kann ich den VBA-Code anpassen, um mehr als zwei Spalten zu vergleichen?
Du kannst weitere If-Bedingungen hinzufügen, um zusätzliche Spalten zu vergleichen. Achte darauf, dass Du die Indizes der Zellen entsprechend anpasst.
2. Was mache ich, wenn ich keine Programmiererfahrung habe?
Nutze die integrierten Excel-Funktionen wie VERGLEICH oder SVERWEIS, um Zellen zu vergleichen, ohne VBA zu verwenden. Diese Funktionen sind benutzerfreundlicher.
3. Wie kann ich den Vergleich für ganze Spalten automatisieren?
Der bereitgestellte VBA-Code vergleicht bereits die gesamte Spalte, solange Daten vorhanden sind. Achte darauf, dass die Schleifen korrekt konfiguriert sind.