Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellen vergleichen und Werte übertragen :-)

Tabellen vergleichen und Werte übertragen :-)
25.05.2007 11:51:00
Thomas
Hallo Zusammen,
möchte mich heute auch mal mit einem Problem an euch wenden. Habe zwar schon diverse ähnliche Fragen und Antworten hier gefunden aber bekomme diese leider nicht für meinen Fall angepasst.
Ich habe 2 Tabellen. Tabelle1 heißt „Neu“, Tabelle2 heißt „Suchen“. Tabelle „Neu“ besteht aus 17 Spalten und bisher 6000 Zeilen. Tabelle „Suchen“ besteht aus 12 Spalten und bis ca. 50 Zeilen.
Aus Tabelle „Suchen“ sollen die Werte der Spalte „A“ mit den Werten der Spalte „B“ in der Tabelle „Neu“ verglichen werden. Bei Übereinstimmung soll in der Tabelle „Neu“ Spalte „M“ der Inhalt aus der Tabelle „Suchen“ Spalte L eingetragen werden.
Habe folgende funktionierende Funktion gefunden und angepasst:

Sub Schaltfläche154_BeiKlick()
Dim rng As Range
Dim iRowL As Integer, iRow As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 1 To iRowL
If Not IsEmpty(Cells(iRow, 1)) Then
With Worksheets("SUCHEN")
Set rng = .Cells.Find(Cells(iRow, 2), lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
Cells(iRow, 13) = .Cells(rng.Row, 12)
'               Cells(iRow, 3) = .Cells(rng.Row, 3)
End If
End With
End If
Next iRow
End Sub


Nur hier dauert der Abgleich bis zu 4 Minuten. Das geht doch bestimmt schneller, Oder?
Danke für eure Hilfe!
Thomas

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen vergleichen und Werte übertragen :-)
25.05.2007 11:58:00
mpb
Hallo Thomas,
wieso verwendest Du nicht die Funktion SVERWEIS?
Gruß
Martin

AW: Tabellen vergleichen und Werte übertragen :-)
25.05.2007 12:06:00
Thomas
Hallo Martin,
SVERWEIS kann ich nicht nehmen weil sich die Werte aus der Tabelle "Suchen" ständig ändern und die Einträge in der Tabelle "Neu" aber bestehen bleiben sollen. Vielleicht habe ich deine Frage aber auch nicht verstanden; dann wüsste ich nicht wie ich das anstellen soll.
Gruß Thomas
Anzeige
;

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

Tabellen vergleichen und Werte übertragen


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei mit den beiden Tabellen, die Du vergleichen möchtest. In diesem Beispiel heißen die Tabellen "Neu" und "Suchen".

  2. Erstelle eine neue VBA-Funktion:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul hinzu (Einfügen > Modul).
    • Kopiere und füge den folgenden Code ein:
    Sub TabellenVergleichen()
       Dim rng As Range
       Dim iRowL As Integer, iRow As Integer
       iRowL = Sheets("Neu").Cells(Rows.Count, 2).End(xlUp).Row
       For iRow = 1 To iRowL
           If Not IsEmpty(Sheets("Neu").Cells(iRow, 2)) Then
               Set rng = Sheets("Suchen").Cells.Find(Sheets("Neu").Cells(iRow, 2), lookat:=xlWhole, LookIn:=xlValues)
               If Not rng Is Nothing Then
                   Sheets("Neu").Cells(iRow, 13) = Sheets("Suchen").Cells(rng.Row, 12)
               End If
           End If
       Next iRow
    End Sub
  3. Führe die Funktion aus:

    • Gehe zurück zu Excel und drücke ALT + F8.
    • Wähle „TabellenVergleichen“ und klicke auf „Ausführen“.
  4. Prüfe das Ergebnis in der Tabelle "Neu". Du solltest nun die Werte aus der Spalte L der Tabelle "Suchen" in Spalte M der Tabelle "Neu" übertragen bekommen haben, wenn die Werte übereinstimmen.


Häufige Fehler und Lösungen

  • Fehler: „Objekt nicht gefunden“
    Lösung: Stelle sicher, dass die Tabellennamen korrekt geschrieben sind und die Spalten indiziert sind, wie im Code angegeben.

  • Langsame Ausführung:
    Wenn der Abgleich lange dauert, kann es hilfreich sein, die Bildschirmaktualisierung zu deaktivieren, indem Du Application.ScreenUpdating = False am Anfang des Makros hinzufügst und Application.ScreenUpdating = True am Ende.

  • Keine Übereinstimmung gefunden:
    Überprüfe, ob die Werte in den Spalten das gleiche Format haben (z.B. Text vs. Zahl).


Alternative Methoden

  • SVERWEIS-Funktion:
    Obwohl in diesem Fall nicht empfohlen, kannst Du SVERWEIS verwenden, wenn die Werte in der Tabelle "Suchen" nicht ständig wechseln. Die Funktion sieht so aus:

    =SVERWEIS(B2; Suchen!A:L; 12; FALSCH)
  • Power Query:
    Eine leistungsfähige Methode, um Tabellen zu vergleichen und zusammenzuführen, ist die Verwendung von Power Query, das in neueren Excel-Versionen integriert ist. Damit kannst Du Daten einfach abgleichen und transformieren.


Praktische Beispiele

Angenommen, Du hast folgende Daten in der Tabelle "Neu":

A B ... M
1 Apfel ...
2 Birne ...

Und in der Tabelle "Suchen":

A B ... L
1 Apfel ... 10
2 Birne ... 20

Nach dem Ausführen des Makros sollte die Tabelle "Neu" so aussehen:

A B ... M
1 Apfel ... 10
2 Birne ... 20

Tipps für Profis

  • Verwende VBA, um die Ausführungsgeschwindigkeit zu erhöhen, indem Du die Bildschirmaktualisierung und Berechnung während der Ausführung ausschaltest.

  • Optimiere Deine Tabellen, indem Du unnötige Spalten und Zeilen entfernst, um die Vergleichsgeschwindigkeit zu erhöhen.

  • Nutze Datenvalidierung in Excel, um sicherzustellen, dass die Werte in den Spalten den erwarteten Typen entsprechen.


FAQ: Häufige Fragen

1. Kann ich die Methode auch für mehr als zwei Tabellen verwenden?
Ja, Du kannst den VBA-Code anpassen, um mehrere Tabellen zu vergleichen, indem Du zusätzliche Schleifen oder Bedingungen hinzufügst.

2. Was mache ich, wenn ich nur teilweise Übereinstimmungen finden möchte?
In diesem Fall kannst Du die Find-Methode anpassen, um nach Teilstrings zu suchen, oder Du kannst die Funktion LIKE verwenden.

3. Wie kann ich sicherstellen, dass die Daten aktuell bleiben?
Du kannst das Makro so einstellen, dass es bei jeder Änderung in den Tabellen automatisch ausgeführt wird, indem Du das Worksheet-Change-Ereignis verwendest.

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