Anzeige
Archiv - Navigation
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellen vergleichen

Tabellen vergleichen
07.08.2006 16:42:05
pia
Hallo Excel-Profis,
benötige für den Vergleich zweier Tabellen eure Unterstützung.
Die Tabellen sind unterschiedlich - sowohl von der Anzahl der Spalten als auch von der Anzahl der Zeilen -, haben jedoch einen gemeinsamen Schlüssel.
In "Tabelle1" befindet sich in Spalte "A" der Schlüssel "DIAG1" (z.B. "F47"). Dieser Schlüssel befindet sich auch in der Spalte "A" der "Tabelle2".
Das Makro soll den Schlüssel der "Tabelle1" (Spalte "A") mit dem Schlüssel der "Tabelle2" (Spalte "A") vergleichen. Wird der Schlüssel gefunden, soll aus "Tabelle2" der Inhalt der Zelle aus Spalte "B" in die Spalte "B" ("DIAG1-TEXT")der "Tabelle1" geschrieben werden.
Dann soll im nächsten Schritt die gleiche Prozedur für Spalte "C" und "D", "E" und "F", "G" und "H", "I" und "J" der "Tabelle1" durchlaufen. Die Referenz für diese Spalten bleibt die Spalte "A" der "Tabelle2".
Habe eine Testdatei beigefügt.
Vielen Dank für die Unterstützung

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen vergleichen
07.08.2006 17:01:13
UweN
Hallo Pia,
die Beispieldatei fehlt leider.
Aber anhand Deiner Angaben würde ich sagen:
Das geht auch ohne Makro, einfach mit der Funktion SVERWEIS.
Beispiel für Spalte B:
=SVERWEIS(A2;Tabelle2!A:B;2;FALSCH)
Spalte C:
=SVERWEIS(A2;Tabelle2!A:C;3;FALSCH) .... etc.
Hilft das weiter ?
Wenn nicht, kannst Du ja immer noch die Beispieldatei hochladen.
Gruss
Uwe
AW: Tabellen vergleichen
07.08.2006 21:01:22
pia
Hallo Uwe,
besten Dank für die rasche Hilfe. Damit kann ich weiterkommen. Hast Du evtl. auch noch eine Makro-Lösung für das Problem?
Gruß
Pia
AW: Tabellen vergleichen
08.08.2006 08:22:15
UweN
Hallo Pia,
bei meinen bescheidenen Makro - Kenntnissen passe ich lieber.
Da können Dir bestimmt andere hier im Forum weiterhelfen.
Ich setze die Frage wieder auf "offen".
viele Grüsse
Uwe
Anzeige
AW: Tabellen vergleichen
08.08.2006 10:07:18
Pia
Hallo Uwe,
nochmals vielen Dank für Deine Hilfe.
Falls von den Makro-Spezialisten hier im Forum jemand ein wenig Zeit für eine Unterstützung findet, hier noch ein paar zusätzliche Informationen und eine Testdatei.
Eine Makrolösung sollte die durch die "SVERWEIS-Formel" manuell eingefügten Werte ersetzen und den entsprechenden Wert aus "Tabelle2" einfügen.
Besteht hier zusätzlich die Möglichkeit, die jeweiligen "Text-Spalten" (DIAG1-TEXT, DIAG2-TEXT bis DIAG6-TEXT etc.) ebenfalls per Makro vorweg einzufügen, da diese Spalten in der ursprünglichen Datei nicht vorliegen und ansonsten vorher manuell angelegt werden müßten?
Wie verbindet man dann noch das komplette Makro mit einer Schaltfläche?
Habe als Anlage eine Testdatei beigefügt.
https://www.herber.de/bbs/user/35640.xls
Vielen Dank für die aktive Unterstützung.
Gruß
Pia
Anzeige
AW: Tabellen vergleichen
08.08.2006 11:28:34
Beni
Hallo Pia,
Gruss Beni

Sub Diagnose()
Dim s, z As Integer
Dim Wert As String
For s = 1 To 10 Step 2
For z = 2 To Sheets("Tabelle1").UsedRange.Rows.Count
Wert = Cells(z, s)
Set c = Sheets("Tabelle2").Columns(1).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Cells(z, s + 1) = c(1, 2).Value
Next z
Next s
End Sub

AW: Tabellen vergleichen
08.08.2006 13:13:10
Pia
Hallo Beni,
vielen Dank für die Hilfe. Habe das Makro installiert, sehe jedoch nicht, was tatsächlich passiert. Das Makro läßt sich ohne irgendeine Fehlermeldung aufrufen - aber es verändert sich nichts in der Datei. Vielleicht mache ich ja noch etwas falsch?
Deshalb habe ich auch die um Dein Makro ergänzte Datei noch einmal beigefügt.
https://www.herber.de/bbs/user/35647.xls
Gruß
Pia
Anzeige
AW: Tabellen vergleichen
08.08.2006 17:23:30
Pia
Hallo Beni,
habe das Makro ausprobiert. Bei mir erhalte ich das beiliegende Ergebnis (siehe Datei).
Kannst Du bitte noch einmal schauen, was das Problem ist?
Es werden Die Spalten "DIAG2" und "DIAG4" in "Tabelle1" überschrieben. Zur Sicherung habe ich vor Makroausführung die "Tabelle1" als "Tabelle1-sich" angelegt.
Besteht auch die Möglichkeit, die eingefügten Spalten zusätzlich noch mit einer Kopfzeile zu ergänzen? Beispielsweise "DIAG1-Text", "DIAG2-Text" etc.
Da ich keine Ahnung von Makro-Programmierung habe, fände ich es ganz toll, wenn Du ein paar kurze Kommentare einfügen könntest, um ein wenig mehr zu verstehen.
https://www.herber.de/bbs/user/35656.xls
Herzlichen Dank
Gruß
Pia
Anzeige
AW: Tabellen vergleichen
09.08.2006 10:07:24
Beni
Hallo Pia,
Gruss Beni

Sub Diagnose()
'Spalten einfügen
Columns("B:B").Insert Shift:=xlToRight
Columns("D:D").Insert Shift:=xlToRight
Columns("F:F").Insert Shift:=xlToRight
Columns("H:H").Insert Shift:=xlToRight
'Text einfügen
Range("B1") = "DIAG1-Text"
Range("D1") = "DIAG2-Text"
Range("F1") = "DIAG3_Text"
Range("H1") = "DIAG4-Text"
Range("J1") = "DIAG5-Text"
Dim s, z As Integer
Dim Wert As String
For s = 1 To 10 Step 2 'Schleife 1 - 10 in zwei Schritten, Spalten B/D/F/H/J
For z = 2 To Sheets("Tabelle1").UsedRange.Rows.Count  'Schleife ab Zeile 2 bis Ende des benutzten Bereich
Wert = Sheets("Tabelle1").Cells(z, s).Value 'gesuchter Wert aus der Zeile/Spalte
'ermittelter Wert wird in Tabelle2/Spalte1 gesucht
Set c = Sheets("Tabelle2").Columns(1).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
'wenn gefunden, c(1, 1) ist der Fundort, c(1, 2) 1 rechts
If Not c Is Nothing Then Sheets("Tabelle1").Cells(z, s + 1) = c(1, 2).Value
Next z
Next s
'optimale Spaltenbreite
Columns("A:J").Columns.AutoFit
End Sub

Anzeige
AW: Tabellen vergleichen
09.08.2006 11:37:59
Pia
Hallo Beni,
ganz herzlichen Dank. So ist es perfekt und auch die Kommentare helfen mir sehr, den Code zu verstehen.
Viele Grüße
Pia

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige