Clever-Excel-Forum

Normale Version: Ganzes Tabellenblatt in andere Datei kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich möchte ein ganzes Tabellenblatt aus meiner Datei in eine
andere Datei kopieren. Leider klappt das nicht.

Code:
Sub Tabellenblatt_einfügen
Application.ScreenUpdating = False
Application.EnableEvents = False

Dim Quelle As Workbook, Ziel As Workbook
Dim Quellblatt As Worksheet, Zielblatt As Worksheet

Set Quelle = Workbooks(ThisWorkbook.Name)
Set Ziel = ThisWorkbook

Set Quellblatt = Quelle.Worksheets("Data")
Set Zielblatt = Ziel.Worksheets("New")

Application.DisplayAlerts = False
Workbooks.Open "C:\000 Projekt\02 Speicher.xlsm"
Quellblatt.Copy after:=Zielblatt ' oder before
Workbooks("02 Speicher.xlsm").Close SaveChanges:=True
Application.DisplayAlerts = True
Application.EnableEvents = True

End Sub

Bei Set Zielblatt = Ziel.Worksheets("New")  erscheint die Fehlermeldung außerhalb des gültigen Bereichs?

Wieso das Blatt exisitiert in der Datei?


Was ist falsch?
Hi Annegret,

wieso mit Kanonen auf Spatzen schießen? Sprich: wieso VBA, wenn es auch mit einem einfachen Rechtsklick geht?
Hallo Willi,

weil's VBA sein muss! Ich kann Inhalte von einer Datei in eine andere kopieren. Kein Problem.

Dann dachte ich statt Zellinhalte zu verschieben, muss es doch auch mit einem ganzen Blatt

funktionieren. Dann kam ich nicht weiter, dann suchte ich Code, der wiederum nicht

funktionierte, dann waren 2 Stunden rum. So geht das mit VBA.
Hallo Annegret,

Zitat:weil's VBA sein muss! Ich kann Inhalte von einer Datei in eine andere kopieren. Kein Problem.
Dann dachte ich statt Zellinhalte zu verschieben, muss es doch auch mit einem ganzen Blatt
funktionieren. Dann kam ich nicht weiter, dann suchte ich Code, der wiederum nicht
funktionierte, dann waren 2 Stunden rum. So geht das mit VBA.

war das jetzt ein Hinweis, daß es geklappt hat, oder sollte das Mist-VBA bedeuten?  :05:
Hi,

du musst das sheet nicht als Objekt definieren.
Aus meinem fundus, muss  halt auf dich anpassen 
Code:
' Blatt verschieben
ActiveSheet.Move After:=Workbooks(Quelle_Mappe).Sheets(QuellSheet)
Hallo Annegret,
Sub Tabellenblatt_einfuegen()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Workbooks.Open("C:\000 Projekt\02 Speicher.xlsm")
.Worksheets("Data").Copy after:=ThisWorkbook.Worksheets("New") ' oder before
.Close SaveChanges:=False
End With
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Gruß Uwe
Hallo Annegret,

ich bin mir nicht so sicher, ob ihr nicht aneinander vorbeigeredet habt: man kann ein komplettes Tabellenblatt von einer Datei in eine andere verschieben / kopieren, ohne VBA:
Beide Dateien öffnen und dann Rechtsklick auf den Karteireiter des Tabellenblattes, das man kopieren möchte. => "verschieben / kopieren" => ...

Grüße, Ulrich
Hi Ulrich,

ich glaube nicht daran, aneinander vorbei zu reden. Auf meine klare Frage, ob es denn VBA sein muss und dem Hinweis auf den Rechtsklick, hat Annegret ebenso klar geantwortet:


Zitat:weil's VBA sein muss!
(15.03.2018, 15:05)Annegret schrieb: [ -> ]Hallo,
ich möchte ein ganzes Tabellenblatt aus meiner Datei in eine
andere Datei kopieren. Leider klappt das nicht.

Code:
Set Quelle = Workbooks(ThisWorkbook.Name)
Set Ziel = ThisWorkbook
Hallo Annegret
Was Du in der Aufgabenstellung formulierst, passt nicht zusammen mit dem Code:
Aufgabenstellung: ...aus meiner Datei in eine andere Datei...
Code: Quelle und Ziel: Thisworkbook