Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2Tabellen Vergleichen und in 3Tab zusammenfügen

2Tabellen Vergleichen und in 3Tab zusammenfügen
29.06.2006 13:48:58
Marcus
Hallo Excel Freunde,
ich habe ein etwas kompliziertes Problem.Und zwar folgendes:
Ich habe 2 Tabellen mit verschiedensten Einträgen (Ca. 20 Spalten). In den tabellen ist die erste spalten entscheiden,im Bezug auf den Vergleich. D.h. ich vergleiche beide Tabellen miteinander wenn in der ersten Spalte jeweils die gleichen Werte vorkommen dann sollen die in Tabelle 3 ergänzt werden. Folgendes Beispiel soll es verdeutlichen
Tabelle 1.
Spalte: a b c d e (usw)
9 text(b) text(C) text(d)text(e)
10 text text text text
11 text text text text
12 text text text text
Tabelle2.
Spalte a b c d e f g
10 text1(c) text(F) text(g)
10 text1 text text
11 text2 text text
11 text2 text text
11 text2 text text
11 text2 text text
D.h. in tabelle 2 kommen nur einträge vor die in tab 1 zwar enthalten sind, aber nur einmal aufgeführt. nun sollen tab3 beide tabellen zusammenfassen. wie folgt:
tabelle3
Spalte a b c d e f g
9 text text text text
10 text text1 text text text text
10 text text1 text text text text
11 text text2 text text text text
11 text text2 text text text text
11 text text2 text text text text
11 text text2 text text text text
12 text text text text
Ich hoffe das es einiger maßen verständlich ist ;)
Es sollen quasi beide Tabellen zusammengefaßt werden, wobei bei dem auftreten von GLeichen Ziffen, die werte aus tab 1 mit der von tab2 in tabelle3 überschrieben werden. Reihenfolge sollm natürlich glecih sein.
Ich hab zwar einen Ansatz:

Sub TabellenVergleich()
Dim i, j As Long
Dim a, b As Long
Sheets("Partslist").Select
i = ActiveSheet.UsedRange.Rows.Count
MsgBox "Zeilen:" & i
Sheets("Tabelle1").Select
j = ActiveSheet.UsedRange.Rows.Count
MsgBox "Zeilen:" & j
For a = 3 To i
For b = 1 To j
If Sheets("Tabelle1").Range("A" & b).Value=_
Sheets("partslist").Range("A" & a).Value Then
Sheets("Tabelle1").Range("A" & b).Select
Selection.Copy
Sheets("Tabelle2").Range("A" & a).Select
ActiveSheets.Paste
End If
Next b
Next a
End Sub

doch haut das nicht so richtig hin ausserdem fehlt sicher noch einiges ^^
Wäre über Eure Hilfe sehr dankbar!!
Gruß Marcus

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

Betreff
Datum
Anwender
Anzeige
AW: 2Tabellen Vergleichen und in 3Tab zusammenfüge
29.06.2006 16:16:31
fcs
Hallo Marcus,
hier mein Vorschlag zur Problemlösung. Die Tabellennamen und die Startzeilen in den Tabellen muss du noch anpassen.

Sub TabellenVergleich()
Dim i As Long, j As Long, Parts1 As Long, Liste1 As Long, ZeileNeu As Long
Dim a As Long
Dim Parts As Worksheet, Liste As Worksheet, ListeNeu As Worksheet
Dim Finden As Range, Adresse As String
Set Parts = ActiveWorkbook.Sheets("Tabelle1") ' Tabelle mit allen Teilenummern
Set Liste = ActiveWorkbook.Sheets("Tabelle2") ' Tabelle mit Daten zu Teilenummern
Set ListeNeu = ActiveWorkbook.Sheets("Tabelle3") ' Zusammengefasste Tabelle
i = Parts.UsedRange.Row + Parts.UsedRange.Rows.Count - 1 'Letzte Zeile in Tabelle
MsgBox "Zeilen in Tabelle " & Parts.Name & " : " & i
Parts1 = 1  '1. Datenzeile in Tabelle Parts
j = Liste.UsedRange.Row + Liste.UsedRange.Rows.Count - 1 'Letzte Zeile in Tabelle
MsgBox "Zeilen in Tabelle " & Liste.Name & " : " & j
Liste1 = 1 '1. Datenzeile in Tabelle Liste
ZeileNeu = 2 '1. Zeile für Daten in ListeNeu
'Daten in TabelleNeu löschen
With ListeNeu
.Range(.Rows(ZeileNeu), .Rows(.Rows.Count)).ClearContents
End With
For a = Parts1 To i
With Liste
Set Finden = .Range(.Cells(Liste1, "A"), .Cells(j, "A")).Find(What:=Parts.Cells(a, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Finden Is Nothing Then
ListeNeu.Rows(ZeileNeu).Value = Parts.Rows(a).Value
ZeileNeu = ZeileNeu + 1
Else
Adresse = Finden.Address
Do
ListeNeu.Rows(ZeileNeu).Value = .Rows(Finden.Row).Value
ZeileNeu = ZeileNeu + 1
Set Finden = .Range(.Cells(Liste1, "A"), .Cells(j, "A")).FindNext(Finden)
Loop While Not Finden Is Nothing And Finden.Address <> Adresse
End If
End With
Next a
End Sub

mfg
Franz
Anzeige
AW: 2Tabellen Vergleichen und in 3Tab zusammenfüge
30.06.2006 13:17:02
marcus
Danke Franz, ich werds ma MOntag mal ausprobieren..

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige