Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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

Meherere Tabellenblätter in ein Blätt zusammenführ

Meherere Tabellenblätter in ein Blätt zusammenführ
19.09.2018 12:40:23
Anja
Hallo Zusammen,
ich habe eine Datei mit mehreren Tabellenblättern. Jetzt möchte ich aus drei bestimmten Tabellenblättern den Inhalt in ein vorgegebenes Tabellenblatt untereinander zusammenführen, also nicht aus allen vorhandenen Blättern. Das Zielblatt heißt Zusammenstellung. Die Quellblätter heißen Lieferanten, Finanzamt und Beiträge. Da der Inhalt der Quellblättern unterschiedlich lang ist (Zeilenanzahl), müsste vorher die letzte verwendete Zeile ermittelt werden. Das Ganze soll mithilfe eines Buttons funktionieren, der sich sowohl auf den Quellblättern, als auch auf dem Zielblatt befindet.
Folgender Inhalt soll aus den Quellblättern übertragen werden:
Nur die Werte und Formate
Ab Zeile 18
Spalten A-T
Zielblatt
Inhalt ab Zeile 18 einfügen
Spalten A-T
Ich habe den nachfolgenden Code gefunden, der schön schnell läuft. Leider kann ich ihn nicht so modifizieren, dass er die oben genannten Bedingungen erfüllt.
Außerdem bekomme ich immer die Fehlermeldung “Variable nicht definiert”, wenn ich ihn in ein Button kopiere, er läuft nur in einem Modul.Ich habe auch noch andere Codes ausprobiert, habe aber etwas Zeitdruck, so dass ich mich mit meinem Problem hierher wende, in der Hoffnung jemand kann mir helfen.
Sub TabellenKopierenUntereinander()
Dim i As Integer
With ActiveWorkbook
'neue Tabelle an die erste Position einfügen
.Worksheets.Add Before:=.Worksheets(1)
For i = 2 To .Worksheets.Count
'Ermitteln den benutzen Bereich der einzelnen Tabellenblätter
Set Rng = .Worksheets(i).UsedRange
'letzte Zeile ermitteln des ersten Blattes
Set rng1 = Worksheets(1).Cells(Rows.Count, "A").End(xlUp)(2)
'Bereich kopieren
Rng.Copy Destination:=rng1
Next
End With
End Sub

Vielen Dank im Voraus!!!!
Anja

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

Betreff
Datum
Anwender
Anzeige
AW: Meherere Tabellenblätter in ein Blätt zusammenführ
19.09.2018 12:55:35
Werner
Hallo Anja,
teste mal:
Public Sub Zusammen()
Dim loLetzte As Long, loLetzteZiel As Long
Dim ws As Worksheet, wsZiel As Worksheet
Set wsZiel = ThisWorkbook.Worksheets("Zusammenstellung")
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Lieferanten", "Finanzamt", "Beiträge"
With ws
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
loLetzteZiel = wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Offset(1).Row
If wsZiel.Cells(18, 1) = "" Then loLetzteZiel = 18
.Range(.Cells(18, 1), .Cells(loLetzte, 20)).Copy
wsZiel.Cells(loLetzteZiel, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
End With
Case Else
End Select
Next ws
Set wsZiel = Nothing
End Sub
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige