wer kann helfen? Möchte gern mehrere Tabellenblätter per VBA in eine neue Mappe kopieren, Problem dabei ist, einige Tabellen sind ausgeblendet also nicht sichtbar. Geht dies überhaupt?
Vielen Dank
Torge
Sub BlaetterKopieren()
Dim ZielDatei As String
'*** Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = True
'*** sichtbares Sheet in neue Mappe kopieren
Workbooks("Quelldatei.xls").Worksheets("Sichtbar1").Copy
'*** Dateinamen der neuen Mappe ermitteln
ZielDatei = Workbooks(Workbooks.Count).Name
'*** verborgenes Blatt einblenden und anschließend in die neue Mappe nach Blatt Sichtbar1 einfügen
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Visible = True
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
'*** ehem. verborgene Blätter in Quell- und neuer Datei ausblenden
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Visible = False
Workbooks(ZielDatei).Worksheets("Unsichtbar1").Visible = False
'*** Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton3_Click()
Dim ZielDatei As String
'*** Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = True
'*** sichtbares Sheet in neue Mappe kopieren
Workbooks("test.xls").Worksheets("Fin.-Anfrage").Copy
'*** Dateinamen der neuen Mappe ermitteln
ZielDatei = Workbooks(Workbooks.Count).Name
'*** verborgenes Blatt einblenden und anschließend in die neue Mappe nach Blatt Sichtbar1 einfügen
Workbooks("test.xls").Worksheets("Dateneingabe").Visible = True
Workbooks("test.xls").Worksheets("Fi-Plan (Neubau)").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
Workbooks("test.xls").Worksheets("Fi-Plan (Bestand)").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
'*** ehem. verborgene Blätter in Quell- und neuer Datei ausblenden
Workbooks("test.xls").Worksheets("Dateneingabe").Visible = False
Workbooks(ZielDatei).Worksheets("Fi-Plan (Neubau)").Visible = False
Workbooks(ZielDatei).Worksheets("Fi-Plan (Bestand)").Visible = False
'*** Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
End Sub
Sub test()
Application.ScreenUpdating = False
With ThisWorkbook
.Sheets(4).Visible = xlSheetVisible
.Sheets(5).Visible = xlSheetVisible
.Sheets(Array("tabelle1", "tabelle2", "tabelle4", "Tabelle5")).Copy
.Sheets(4).Visible = xlSheetVeryHidden
.Sheets(5).Visible = xlSheetVeryHidden
End With
Sheets(3).Visible = xlSheetVeryHidden
Sheets(4).Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
End Sub
Um mehrere Tabellenblätter in eine neue Datei zu kopieren, kannst Du folgendes VBA-Makro verwenden. Dieses Beispiel zeigt, wie Du auch ausgeblendete Blätter einblenden und anschließend wieder ausblenden kannst:
Sub BlaetterKopieren()
Dim ZielDatei As String
' Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
' Sichtbares Sheet in neue Mappe kopieren
Workbooks("Quelldatei.xls").Worksheets("Sichtbar1").Copy
' Dateinamen der neuen Mappe ermitteln
ZielDatei = Workbooks(Workbooks.Count).Name
' Verborgenes Blatt einblenden und in die neue Mappe einfügen
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Visible = True
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Copy After:=Workbooks(ZielDatei).Worksheets("Sichtbar1")
' Ehemals verborgene Blätter ausblenden
Workbooks("Quelldatei.xls").Worksheets("Unsichtbar1").Visible = False
Workbooks(ZielDatei).Worksheets("Unsichtbar1").Visible = False
' Bildschirmaktualisierung wieder einschalten
Application.ScreenUpdating = True
End Sub
Fehler: „Objektvariable nicht festgelegt“
Fehler: „Blatt nicht gefunden“
Fehler: Nur ein Blatt wird kopiert
Falls Du keine Makros verwenden möchtest, kannst Du auch die Funktion „Kopieren“ und „Einfügen“ manuell nutzen:
Excel mehrere Tabellenblätter in ein Tabellenblatt kopieren ohne Makro:
Strg-Taste gedrückt, und klicke auf die Blätter, die Du kopieren möchtest. Rechtsklicke auf einen der ausgewählten Blätter und wähle „Kopieren“.Excel mehrere Tabellenblätter in ein Tabellenblatt kopieren ohne VBA:
Hier ist ein erweitertes Beispiel, das mehrere Blätter in einer neuen Datei speichert:
Sub AlleBlaetterKopieren()
Dim ZielDatei As String
' Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
' Alle sichtbaren Blätter kopieren
ThisWorkbook.Sheets.Copy
' Dateinamen der neuen Mappe ermitteln
ZielDatei = Workbooks(Workbooks.Count).Name
' Ehemals verborgene Blätter ausblenden
For Each ws In ThisWorkbook.Worksheets
If ws.Visible = xlSheetVeryHidden Then
ws.Visible = xlSheetVeryHidden
End If
Next ws
' Bildschirmaktualisierung einschalten
Application.ScreenUpdating = True
End Sub
Application.DisplayAlerts = False, um lästige Bestätigungsdialoge während des Kopiervorgangs auszublenden.Application.ScreenUpdating) ausschaltest, um die Performance Deines Makros zu verbessern und das Kopieren der Blätter schneller zu gestalten.1. Wie kann ich mehrere Tabellenblätter in eine neue Datei speichern? Du kannst das oben genannte VBA-Makro verwenden, um mehrere Tabellenblätter in eine neue Datei zu kopieren.
2. Ist es möglich, mehrere Tabellenblätter in ein Tabellenblatt zu kopieren? Ja, Du kannst Daten aus mehreren Tabellenblättern in ein Tabellenblatt kopieren, indem Du die entsprechenden Blätter auswählst und die Daten dann in ein neues Blatt einfügst.
3. Welche Excel-Version wird benötigt? Die oben genannten Beispiele sind für Excel 2010 und höher geeignet. Achte darauf, dass Du die Makros aktivierst, um sie ausführen zu können.