Tabellenblätter zusammenführen
#1
Hallo zusammen,

ich habe in einer Excel Datei mehrere Tabellenblätter("Tabelle1", "Tabelle2", "Tabelle3", "Tabelle4", "Tabelle5"). Nun möchte ich in einem neuem Tabellenblatt: "Gesamtliste" , immer die komplette Spalte A jedes Tabellenblatts untereinander in der neuen Spalte A stehen haben.

Kann mir da jemand mit ner VBA behilflich sein? :s
Top
#2
Hallo

Eine Alternative wäre Power Query.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#3
(25.04.2017, 14:08)shift-del schrieb: Hallo

Eine Alternative wäre Power Query.

versteh den link nicht wirklich aber habe mir selbst geholfen danke.
Top
#4
Auch wenn du wohl am Ziel bist: Mr. Goo bietet dir zu dem Thema (einschließlich der besten Lösung für Excel 2016) diverse Links an, sogar in deutsch ... :05: (ich habe mir den Link nicht angesehen.)
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Top
#5
Hallo,

hier auch trotzdem nochmal eine Makro-Lösung.

Code:
Option Explicit

Sub JoinColumns()
   Dim wks As Worksheet
   Dim arrJoined()
   Dim i As Long, j As Long
   Dim k As Long: k = 1
   
   Gesamtliste.Cells(1, 1).CurrentRegion.Columns(1).ClearContents
   
   For Each wks In ThisWorkbook.Worksheets
       If wks.CodeName <> "Gesamtliste" Then
           ReDim Preserve arrJoined(i)
           arrJoined(i) = wks.Cells(1, 1).CurrentRegion.Columns(1)
           i = i + 1
       End If
   Next wks
   
   For i = LBound(arrJoined) To UBound(arrJoined)
       For j = LBound(arrJoined(i)) To UBound(arrJoined(i))
           Gesamtliste.Cells(k, 1).Value = arrJoined(i)(j, 1)
           k = k + 1
       Next j
   Next
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Jonas0806 für diesen Beitrag:
  • Brodiak
Top
#6
Hallo Jonas,

Du hast da eigentlich einen schönen Code.

Das Einlesen passiert in Blöcken und ist eine feine Sache.
Das zurückschreiben kann doch auf die gleiche Art passieren.
Warum da auf einmal wieder Zelle für Zelle?

Das Zurückschreiben in Blöcken ginge so:

Code:
  With Sheets("Gesamtliste")
  For i = LBound(arrJoined) To UBound(arrJoined)
       .Cells(k, 1).Resize(UBound(arrJoined(i))) = arrJoined(i)
       k = k + UBound(arrJoined(i))
  Next
  End With
Gruß Atilla
Top
#7
Moin!
Old fashioned klappt die Auswertung auch mit dem Pivot Table Assistenten:
Dateiupload bitte im Forum! So geht es: Klick mich!
src="
Dateiupload bitte im Forum! So geht es: Klick mich!
" />

Da er sich in den Versionen ab 2007 versteckt hat, mal ein How To:
http://www.exceltricks.de/home/inhaltsve...-assistent

Gruß Ralf

P.S.:
Mein Power Query (in XL 2010) lässt sich nach diversen Versuchen immer noch nicht aktivieren.
Aber egal!  :21:
Neuer PC steht im Kämmerchen und wird (mit Excel 365) am WE aktiviert.
*Sabber*
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#8
Hallo,

Zitat:mal ein How To:

Ich bevorzuge die Tastenkombination Alt-N-P
Gruß
Peter
Top
#9
Hallo Atilla,

da hast Du natürlich Recht :16:

Das habe ich wohl ein bisschen zu schnell hingeschmiert ;)

Danke Dir für den Hinweis!
Top
#10
(26.04.2017, 07:51)Peter schrieb: Ich bevorzuge die Tastenkombination Alt-N-P

Moin Peter!
Mit ein wenig Nachdenken hätte ich ja drauf kommen können …
Excel<2007:
Alt-DateN-Pivottable

Ich gestehe zu meiner Schande, dass ich mich ernsthaft erst seit einem Jahr mit Pivot beschäftige, und da hatte ich schon lange Excel 2010.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste