Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1864to1868
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
Inhaltsverzeichnis

Spalten mit Makro zusammenführen

Spalten mit Makro zusammenführen
27.01.2022 09:04:21
Andi
Guten Morgen liebe Excel-Community,
bräuchte bitte Eure Hilfe. Hab zwar unterschiedliche Codes schon dazu gefunden, aber irgendwie passen die dann doch nicht zu meinem Problem.
Hintergrund: In der beiliegenden Datei gibt es insg. 3 Tabellenblätter. In 2 davon (Tabelle 1 und 2) stehen sowohl die P-Nummer als auch die Namen.
Im 3. Tabellenblatt (Zusammenführen) möchte ich nun mit dem Button "zusammenführen" die beiden Tabellen 1 und 2 miteinander verschmelzen, sodaß dann die P-Nummern und die Namen der beiden Tabellen in diesem Tabellenblatt untereinander stehen.
Die Tabellen 1 und 2 sollen erhalten bleiben und können sich täglich ändern.
https://www.herber.de/bbs/user/150707.xlsm
Könnt Ihr mir bitte helfen?
Vielen Dank
Schöne Grüße
Andi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit Makro zusammenführen
27.01.2022 10:04:25
Oli
Hallo Andi,
ich würde das über das Daten-Menü und PowerQuery zusammenführen. Damit löst man auch das Problem der variablen Tabellenlänge.
Grüße
Oliver
AW: Spalten mit Makro zusammenführen
27.01.2022 10:14:36
UweD
Hallo
so?

Sub Tabellenblätter_zusammenführen()
Dim LR As Long, LRZ As Long, TBZ As Worksheet, TB As Worksheet
Dim TMP As Integer
Set TBZ = Sheets("Zusammenführen")
'Reset
TBZ.UsedRange.Clear
For Each TB In ThisWorkbook.Worksheets
If TB.Name  TBZ.Name Then
LR = TB.Cells(TB.Rows.Count, "A").End(xlUp).Row
If TMP  1 Then 'Überschrift beim ersten Durchlauf
TB.Rows(1).Copy TBZ.Rows(1)
End If
LRZ = TBZ.Cells(TBZ.Rows.Count, "A").End(xlUp).Row + 1 ' Einfügezeile
TB.Rows(2).Resize(LR).Copy TBZ.Rows(LRZ)
TMP = 1
End If
Next
End Sub
LG UweD
Anzeige
AW: Spalten mit Makro zusammenführen
27.01.2022 17:39:36
Andi
Hallo UweD,
jetzt war ich doch etwas zu schnell. Hab Deinen Code getestet und auf meiner privaten Datei funktioniert er perfekt.
Jetzt wollte ich diesen in die Datei in meiner Arbeit einbauen und bekomm nun den Laufzeitfehler 9 (Index außerhalb des gültigen Bereichs)
Hinweis: In der "Arbeits-Datei" befinden sich mehrere Tabellenblätter und auch noch welche, die ausgeblendet sind.
Nun aber zu meiner konkreten Frage: Wäre es möglich, Deinen Code so umzuschreiben, daß ich die Arbeitsblätter (die verschmolzen werden sollen) direkt anspreche? In meinem Bespiel wären es Tabelle 1 und 2.
Schon mal Danke für Deine Hilfe und sorry, aber ich bin noch neu auf dem Gebiet.
Schöne Grüße
Andi
Anzeige
AW: Spalten mit Makro zusammenführen
27.01.2022 18:22:09
GerdL
Moin Andi!
Es spricht viel dafür, dass du kein Zusammenführen-Tabellenblatt in der Datei auf Arbeit hast, oder dieses ggf. nur leicht abweichend benannt hast.
Gruß Gerd
AW: Spalten mit Makro zusammenführen
27.01.2022 18:46:16
Andi
Oh Mann, da hast du natürlich recht.
Aber nun passiert eins, daß der Code auch andere Tabellenblätter einfügt und sich nicht auf bestimmte Seiten beschränkt.
Hast du eine Idee, wie ich nur bestimmte Seiten anspreche?
Danke dir
AW: Spalten mit Makro zusammenführen
27.01.2022 18:53:54
GerdL
Eine Möglichkeit:

Sub Tabellenblätter_zusammenführen()
Dim LR As Long, LRZ As Long, TBZ As Worksheet, TB As Worksheet
Dim TMP As Integer
Set TBZ = Sheets("Zusammenführen")
'Reset
TBZ.UsedRange.Clear
For Each TB In ThisWorkbook.Worksheets
Select Case TB.Name
Case "EIN", "Tabelle5", "Sieben"
LR = TB.Cells(TB.Rows.Count, "A").End(xlUp).Row
If TMP  1 Then 'Überschrift beim ersten Durchlauf
TB.Rows(1).Copy TBZ.Rows(1)
End If
LRZ = TBZ.Cells(TBZ.Rows.Count, "A").End(xlUp).Row + 1 ' Einfügezeile
TB.Rows(2).Resize(LR).Copy TBZ.Rows(LRZ)
TMP = 1
End Select
Next
End Sub
Gruß Gerd
Anzeige
AW: Spalten mit Makro zusammenführen
27.01.2022 19:03:08
Andi
Vielen Dank, werde es morgen gleich ausprobieren. Nur eine "Lernfrage" für mich noch:
Was bedeutet: Case "Ein", "Tabelle 5", "Sieben"?
Danke
Schönen Abend
AW: Spalten mit Makro zusammenführen
27.01.2022 20:59:41
ralf_b

Select Case TB.Name
Case "EIN", "Tabelle5", "Sieben"
Case prüft den Ausduck TB.Nname auf die drei Werte. Wenn einer der drei Werte zutrifft, wird der Code in dem Caseblock abgearbeitet.
AW: Spalten mit Makro zusammenführen
27.01.2022 21:14:15
Andi
Super... vielen Dank. Wieder was gelernt :-)
Singen Abend

225 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige