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

Zwei Tabellenblätter vergleichen und Wert kopieren

Forumthread: Zwei Tabellenblätter vergleichen und Wert kopieren

Zwei Tabellenblätter vergleichen und Wert kopieren
08.01.2026 22:11:50
Benno77
Hallo zusammen.

Ich hatte eben bereits ein Problem beschrieben und so klasse Hilfe erhalten Da habe ich mir gedacht, auch mein zweites Thema anzubringen, was vielleicht für viele von euch recht einfach zu lösen ist.

Ich habe zwei Tabellenblätter mit jeweils rund 20.000 Zeilen. Ich möchte nun pro Zeile prüfen, ob ein Zahlenwert der in Tabellenblatt 1 in Spalte B steht irgendwo in Spalte M von Tabellenblatt 2 vorkommt. Diese Spalte M enthält jedoch Text und Zahlen, so dass der gesuchte Zahlenwert nur ein Teil eines längeren Buchungstextes ist. Sollte der Zahlenwert in Spalte M in irgendeiner Zeile gefunden werden, möchte ich gern den Inhalt der Spalte P dieser Zeile des Tabellenblattes 2 in Spalte C des Tabellenblattes 1 kopieren (neben den entsprechenden ursprünglichen Suchwert aus Spalte B).

Das klingt jetzt hoffentlich komplizierter als es ist! :-( Habt ihr da eine Idee?

Ganz lieben Dank vorab.

Benno

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwei Tabellenblätter vergleichen und Wert kopieren
08.01.2026 22:32:08
Onur
" Habt ihr da eine Idee?" ? Ohne die Datei zu sehen ???
AW: Zwei Tabellenblätter vergleichen und Wert kopieren
08.01.2026 23:27:18
xlKing
Hallo Benno,

probiers mal mit der folgenden Formel in C2 von Tabelle1: =INDEX(Tabelle2!P:P;VERGLEICH("*"&Tabelle1!B2&"*";Tabelle2!M:M;0))

Gruß Mr. K.
AW: Zwei Tabellenblätter vergleichen und Wert kopieren
08.01.2026 23:35:05
Piet
Hallo Benno

auch dafür gibt es ein Makro, ist aber etwas komplizierter um den M String zu zerlegen
In Spalte C kannst du den Betrag oder den M Text anzeigen lassen. Dazu im Code das ' Zeichen entfernen!
'AC.Cells(1, 2) = rFind.Value '** oder M Text --> mit dem Zeichen ' kannst du jeden Befehl deaktivieren!
Schau mal ob das Ergebnis so richtig ist. Bei 20.000 Zeilen kann das schon eine Weile dauern! Wie lange?

mfg Piet

Sub Suchlauf()

Dim AC As Range, j, lz1 As Long
Dim rFind As Range, Adr1 As String
Dim Tb2 As Worksheet, arry 'Array
Set Tb2 = Worksheets("Tabelle2")
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
lz1 = .Cells(Rows.Count, 2).End(xlUp).Row
'Spalte AC löschen (ab Zeile 2)
.Range("C2:C" & Rows.Count).ClearContents
'Suchbereich festlegen (Hier Spalte B)
For Each AC In Range("B2:B" & lz1)
'Suchlauf in Spalte M (Part) ** klappt nur mit CInt(AC)!! Warum??
Set rFind = Tb2.Columns("M").Find(What:=CInt(AC), After:=Tb2.[m1], LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
'Wenn gefunden weitersuchen bis Ende
If Not rFind Is Nothing Then
Adr1 = rFind.Address '1.Adr. merken!
Do 'M Tetx splitten für Zahl
arry = Split(Trim(rFind), " ")
'Zahlen auswerten
For j = 0 To UBound(arry)
If IsNumeric(Left(arry(j), 1)) Then
If CCur(AC) = CCur(arry(j)) Then
AC.Cells(1, 2) = arry(j) * 1 '** Betrag
'AC.Cells(1, 2) = rFind.Value '** oder M Text
End If
End If
Next j
Set rFind = Tb2.Columns("M").FindNext(rFind)
Loop Until Adr1 = rFind.Address
End If
Next AC
End With
End Sub
Anzeige
AW: Zwei Tabellenblätter vergleichen und Wert kopieren
08.01.2026 23:37:03
Piet
Nachtrag

Die Formel könnte schneller sein als VBA. Damit kenne ich mich nicht aus.
Ist interressant das einmal in der Praxis zu vergleichen. Bin gespannt.

mfg Piet
AW: Zwei Tabellenblätter vergleichen und Wert kopieren
09.01.2026 14:34:46
Benno77
Dank euch. Ich hab das jetzt tatsächlich mal mit der Formel gemacht und ging schnell und einfach. :-)

VG
Benno
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18