Herbers Excel-Forum - das Archiv

Zwei Tabellen vereinigen

Bild

Betrifft: Zwei Tabellen vereinigen
von: Andy H.

Geschrieben am: 15.02.2005 11:55:31
Hallo zusammen
Es sollte doch eigentlich einfach sein, zwei Tabellen miteinander zu verbinden, aber...
Ich möchte "Tab 1" mit "Tab 2" vereinigen und in "MergeTab" darstellen.
Es kommt nur die Spalte "Intervall 1" in beiden Quell-Tabellen vor. Alle zugehörigen Werte sollen übernommen werden.
Die Spalten in "MergeTab" dürfen auch "Intervall 1(Tab1)" "Intervall 1(Tab2)" heissen, sie müssen nicht unbedingt in eine Spalte eingefügt werden (Es wäre zwar schön).
Ich habe es mal mit dem Befehl "Vergleich" versucht, bin aber irgendwie daran gescheitert.
In der 4. Tabelle habe ich mühsam die Lösung zusammengetragen.
https://www.herber.de/bbs/user/18105.xls
Vielen Dank fürs Anschauen!
Gruss Andy H.
Bild

Betrifft: AW: Zwei Tabellen vereinigen
von: Beni

Geschrieben am: 15.02.2005 16:07:42
Hallo Andy,
Gruss Beni
Sub Andy()
Dim i, lz As Integer
For i = 2 To Sheets("Tab1").Cells(Rows.Count, 1).End(xlUp).Row
Wert = Sheets("Tab1").Cells(i, 1)
lz = Sheets("MergeTab").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("MergeTab").Cells(lz, 1) = Sheets("Tab1").Cells(i, 1)
Sheets("MergeTab").Cells(lz, 2) = Sheets("Tab1").Cells(i, 2)
Sheets("MergeTab").Cells(lz, 3) = Sheets("Tab1").Cells(i, 3)
Sheets("MergeTab").Cells(lz, 4) = Sheets("Tab1").Cells(i, 4)
Sheets("MergeTab").Cells(lz, 5) = Sheets("Tab1").Cells(i, 2)
Set C = Sheets("Tab2").Columns(1).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then
Sheets("MergeTab").Cells(lz, 6) = C(1, 2)
End If
Next i
For i = 2 To Sheets("Tab2").Cells(Rows.Count, 1).End(xlUp).Row
Wert = Sheets("Tab2").Cells(i, 1)
Set C = Sheets("Tab1").Columns(1).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
If C Is Nothing Then
lz = Sheets("MergeTab").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("MergeTab").Cells(lz, 1) = Sheets("Tab2").Cells(i, 1)
Sheets("MergeTab").Cells(lz, 6) = Sheets("Tab2").Cells(i, 2)
End If
Next i
With Sheets("MergeTab")
lz = .Cells(Rows.Count, 1).End(xlUp).Row
Range(.Cells(2, 1), .Cells(lz, 6)).Sort Key1:=Range("A2")
End With
End Sub

Bild

Betrifft: Beni, ebenfalls vielen Dank für die VBA-Lösung
von: Andy H.
Geschrieben am: 16.02.2005 08:32:12
-
Bild

Betrifft: AW: Zwei Tabellen vereinigen
von: Tinu

Geschrieben am: 15.02.2005 18:17:44

Hallo Andy
Das ganze ist mit Sverweis relativ einfach zu lösen, wenn erst mal alle vorkommenden Werte von Intervall 1 untereinander stehen. Dies habe ich mit einem Hilfsblatt gelöst. Wahrscheinlich nicht die eleganteste Lösung, dafür kommt sie ohne VBA aus.
https://www.herber.de/bbs/user/18136.xls
Gruss nach Zürich
Tinu
Bild

Betrifft: AW: Zwei Tabellen vereinigen
von: Andy H.

Geschrieben am: 16.02.2005 08:16:05
Hallo Tinu
Danke für deine Lösung. Sie ist völlig ausreichend, denn es ist nur ein Arbeitspapier.
Das einzige, was noch stört sind die #NV in den Zellen, die eigentlich leer bleiben sollten. Ich hab versucht, mit "Bedingte Formatierung" diese Zellen mit weisser Schrift zu versehen, aber bis jetzt ohne Erfolg.
nebenbei:**Wie kommst du auf Zürich?!**
Gruss nach Bern (?)
Andy
Bild

Betrifft: AW: Zwei Tabellen vereinigen
von: Tinu

Geschrieben am: 16.02.2005 12:41:57
Hallo Andy
In meinem Beispiel habe ich die #NV mit bedingter Formatierung ausgeblendet. Klick doch mal auf ein Feld auf dem Arbeitsblatt MergeTab und wähle Format, bedingte Formatierung, dann siehst du die Formel.
Wie ich auf "Zürich" komme ist ganz einfach.... Wenn Du ein Arbeitsblatt auf den Server lädtst, solltest Du zuvor unter Datei, Eigenschaften die Einträge löschen.
Na, habe ich mich damit für die KaPo qualifiziert? ;-)
Gruss aus Baden
Tinu
Bild

Betrifft: AW: Zwei Tabellen vereinigen
von: Andy H.

Geschrieben am: 16.02.2005 13:41:31
Ciao Tinu
Na ja, vielleicht habe ich mich auch disqualifiziert.
Vielen Dank für die wertvollen Tipps, ich werde mich in Zukunft (ver)hüten, ...
Und die Formeln sind alle so logisch, es fehlt warscheinlich nur an der Routine, ODER so. ;-D
Gruss N D 8ch.
 Bild
Excel-Beispiele zum Thema "Zwei Tabellen vereinigen"
Suche über mehrere Tabellen Benennen von Tabellenblättern mit Monatsnamen
Druckseitenlinien im Tabellenblatt Tabellenblattnamen in ein Listenfeld einlesen
Suchbegriff über mehrere Tabellenblätter suchen. Tabellenblätter benennen
Tabellenblatt auswählen Zustand von Tabellenblatt-Checkboxes ermitteln
Tabellenblattnamen der VBE-Projekte ändern Tabellenblattnamen nach Datum