Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1288to1292
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

Tabelleninhalte in neuer Datei aus alten übernehme

Tabelleninhalte in neuer Datei aus alten übernehme
14.12.2012 23:31:41
Peter
Hallo
Geöffnet sind Workbook "ALT.xlsm" und "NEU.xlsm"
Alle Worksheets, die in Workbook "NEU" enthalten sind, sind auch in Workbook "ALT" enthalten (sowie viele weitere).
Nun möchte ich die einzelnen Tabellen inkl. Spalten- und Zeilenformate in die Workbsheets von Workbook "NEU.xlsm" übernehmen.
Was mache ich falsch?
Gruss, Peter
Sub Uebertragen1()  'code ist in Modul von Neu.xlsm
Dim objWB_new As Workbook
Dim objWB_old As Workbook
Dim objWS As Worksheet
ThisWorkbook.Activate
Set objWB_old = Workbooks("ALT.xlsm")
Set objWB_new = Workbooks("NEU.xlsm")
For Each objWS In objWB_new
'''kopieren und einfügen der jeweiligen Tabelleninhalte, inkl. Spalten/Zeileformate
objWB_old.Sheets(objWS.Name).Cells.Copy objWB_new.objWS
Next
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelleninhalte in neuer Datei aus alten übernehme
15.12.2012 05:34:04
schauan
Hallo Peter,
was funktioniert denn nicht, wo kommt eine Fehlermeldung und welche?
Ich tippe mal auf For Each objWS In objWB_new
Richtig wäre For Each objWS In objWB_new.Sheets
Hier geht es in die gleiche Richtung: objWB_old.Sheets(objWS.Name).Cells.Copy objWB_new.objWS
Du musst in das gewünschte Blatt kopieren und nicht in das Workbook.
objWB_old.Sheets(objWS.Name).Cells.Copy objWB_new.Sheets(objWS.Name)
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

AW: Tabelleninhalte in neuer Datei aus alten übernehme
15.12.2012 08:56:24
Beverly
Hi Peter,
wenn du auch die Zeilen-/Spaltenformate mit übertragen willst, würde ich die Tabellenblätter in der neuen Mappe löschen und dann aus der alten komplett kopieren.
Sub Kopieren()
Dim wkbMappeAlt As Workbook
Dim wkbMappeNeu As Workbook
Dim wksTabelleAlt As Worksheet
Dim wksTabelleNeu As Worksheet
Set wkbMappeAlt = Workbooks("ALT.xlsm")
Set wkbMappeNeu = Workbooks("NEU.xlsm")
With wkbMappeAlt
Application.DisplayAlerts = False
For Each wksTabelleAlt In wkbMappeAlt.Worksheets
On Error Resume Next
Set wksTabelleNeu = wkbMappeNeu.Worksheets(wksTabelleAlt.Name)
On Error GoTo 0
If Not wksTabelleNeu Is Nothing Then wkbMappeNeu.Worksheets(wksTabelleAlt.Name).Delete
wksTabelleAlt.Copy after:=wkbMappeNeu.Worksheets(wkbMappeNeu.Worksheets.Count)
Set wksTabelleNeu = Nothing
Next wksTabelleAlt
Application.DisplayAlerts = True
End With
End Sub


Anzeige
AW: Tabelleninhalte in neuer Datei aus alten übernehme
15.12.2012 09:38:34
Peter
Hallo Karin
Danke für die Antwort.
Das ist sicher sinnvoll so. Trotzdem möchte ich gerne wissen, was an meinem Code falsch ist, dass ich nicht alle Zeilen kopieren kann.
Vielen Dank und Gruss,
Peter

AW: Tabelleninhalte in neuer Datei aus alten übernehme
15.12.2012 10:14:41
Beverly
Hi Peter,
ich denke, so wird ein Schuh daraus:
Sub Uebertragen1()  'code ist in Modul von Neu.xlsm
Dim objWB_old As Workbook
Dim objWS As Worksheet
Set objWB_old = Workbooks("Mappe1")
For Each objWS In ThisWorkbook.Worksheets
'''kopieren und einfügen der jeweiligen Tabelleninhalte, inkl. Spalten/Zeileformate
Set objWS = ThisWorkbook.Worksheets(objWS.Name)
objWB_old.Sheets(objWS.Name).Cells.Copy objWS.Cells
Set objWS = Nothing
Next
End Sub


Anzeige
AW: Tabelleninhalte in neuer Datei aus alten übernehme
15.12.2012 13:16:46
schauan
Hallo Peter,
wie ich schon schrieb, Richtig wäre
For Each objWS In objWB_new.Sheets
Du hast eine Schleife, mit der Du die Blätter durchgehen willst, und programmierst das Workbook-Objekt.
For Each objWS In objWB_new 'hier fehlt was
Mein zweiter Satz war nicht richtig. Bei mir "hing" da in Gedanken noch, dass in der For-Zeile von Dir ein Workbook-Objekt stand :-( Aber Karin hat in der zweiten Antwort ja die korrekte Zeile:
objWB_old.Sheets(objWS.Name).Cells.Copy objWS.Cells
.Cells hat dann bei Dir nur gefehlt.
Übrigens ist bei der Fehlersuche manchmal von Vorteil, zusammengefassten code zeilenweise zu schreiben. Bei einer Zeile kam der - irreführende - Fehler, dass die Copy-Methode nicht ausgeführt werden kann.
Bei zwei Zeilen wird das copy ausgeführt, und es erscheint erst danach ein Fehler.
objWB_old.Sheets(objWS.Name).Cells.Copy
objWB_new.objWS 'hier kommt die Fehlermeldung ...
Ich kann jetzt nicht nachvollziehen, warum dort innerhalb der Schleife objWs nochmal gesetzt wird, wo es doch schon vom For belegt wird :-( Tut der Sache aber keinen Abbruch, läuft trotzdem ...
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: Tabelleninhalte in neuer Datei aus alten übernehme
15.12.2012 21:54:05
Peter
Hallo Karin und André
Mit euren Inputs ist nachfolgender Code "geworden". Vielen Dank
@ André: Die Zeile objWB_old.Sheets(objWS_new.Name).Cells.Copy objWS_new.Cells
lässt sich nach meiner Erfahrung nicht zweiteilen.
Sub Uebertragen()
Dim objWB_new As Workbook
Dim objWB_old As Workbook
Dim objWS_new As Worksheet
ThisWorkbook.Activate
'''On Error Resume Next
GetMoreSpeed
Set objWB_old = Workbooks("ALT.xlsm")
Set objWB_new = Workbooks("NEU.xlsm")
For Each objWS_new In objWB_new.Worksheets
Set objWS_new = objWB_new.Worksheets(objWS_new.Name)
Debug.Print objWS_new.Name
objWB_old.Sheets(objWS_new.Name).Cells.Copy objWS_new.Cells
Set objWS_new = Nothing
Next
'''Err.Clear
GetMoreSpeed 0
'''On Error GoTo 0
End Sub
Gruss, Peter

Anzeige
AW: Tabelleninhalte in neuer Datei aus alten übernehme
16.12.2012 06:40:51
schauan
Hallo Peter,
das mit der Teilung ging nur in die Richtung des "Nachschauens", ob es wirklich am copy liegt.
Wenn Der code mit zwei Zeilen lauffähig sein soll, dann müsste man in der zweiten Zeile noch .Paste hinzufügen.
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige