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

Mehrere Tabellenblätter kopieren

Mehrere Tabellenblätter kopieren
21.01.2016 10:31:25
Dennis
Guten Morgen Zusammen,
ich versuche gerade, aus einer großen Tabelle (Excel 2010) nur ein paar einzelne Tabellenblätter in eine neue Datei zu kopieren. Das funktioniert soweit gut.
Was ich noch zusätzlich möchte, ist bei jedem einzelnen, zu kopierendem Blatt einen bereich angeben der Kopiert werden soll, damit nicht alle Daten in der neuen Datei stehen.
In meinem Beispiel soll aus dem Blatt "Januar" beispielsweise nur von A1:G20, februar von A1:F20... kopiert werden.
Vielen Dank im Voraus!
Euer Forum-Newbee Dennis.
Sub Speichern_Export() '2016-01-21, Script von Dennis
Beep
If MsgBox("Die aktuelle Datei wird jetzt gespeichert und Excel wird geschlossen." _
& vbNewLine & vbNewLine & _
"Zusätzlich wird eine neue Datei für das Team angelegt. Möchtest Du das wirklich?", _
vbQuestion + vbYesNo, "Eine Enstscheidung wird von Dir erwartet") = vbYes Then
ActiveWorkbook.Save 'Jochens Planung speichern
Application.DisplayAlerts = False 'Fehlermeldungen ausschalten
Worksheets(Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember")).Copy
ActiveWorkbook.SaveAs Filename:= _
"\\2016\" & Format(Now, "  _
_
YYYYMMDD_hh-mm") & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Dim i As Worksheet 'Blattschutz setzen
For Each i In ActiveWorkbook.Worksheets
i.Protect Password:="blau" 'Hier steht das Passwort zum Blattschutz
Next i
ActiveWorkbook.Save 'Die neue Arbeitsmappe speichen
Application.DisplayAlerts = True
Application.Quit
Else
MsgBox "Du hast Abgebrochen" _
& vbNewLine & vbNewLine & _
"Die Datei wurde nicht exportiert und auch nicht gespeichert!", vbInformation
End If
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Tabellenblätter kopieren
21.01.2016 15:50:29
fcs
Hallo Dennis,
probiere es mal so. Für die restlichen Monate muss du noch die Zellbereiche anpassen.
Alternativ könnte man auch die letzte Zeile und Spalte angeben und alles was rechts bzw. unterhalb davon ist im Zielblatt löschen
Gruß
Franz
Sub Speichern_Export() '2016-01-21, Script von Dennis
Dim wkbQ As Workbook, wksQ As Worksheet, strRange As String
Dim wkbZ As Workbook, wksZ As Worksheet
Beep
If MsgBox("Die aktuelle Datei wird jetzt gespeichert und Excel wird geschlossen." _
& vbNewLine & vbNewLine & _
"Zusätzlich wird eine neue Datei für das Team angelegt. Möchtest Du das wirklich?", _
vbQuestion + vbYesNo, "Eine Enstscheidung wird von Dir erwartet") = vbYes Then
Set wkbQ = ActiveWorkbook
wkbQ.Save 'Jochens Planung speichern
Application.DisplayAlerts = False 'Fehlermeldungen ausschalten
Worksheets(Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", _
"September", "Oktober", "November", "Dezember")).Copy
Set wkbZ = ActiveWorkbook
wkbZ.SaveAs Filename:= _
"\\2016\" & Format(Now, "YYYYMMDD_hh-mm") & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'Inhalte löschen und Teilbereiche kopieren, Blattschutz setzen
Application.ScreenUpdating = False
For Each wksZ In wkbZ.Worksheets
strRange = ""
Set wksQ = wkbQ.Worksheets(wksZ.Name)
Select Case wksZ.Name
Case "Januar": strRange = "A1:F20"
Case "Februar": strRange = "A1:G20"
Case "März": strRange = "A1:G20"
Case "April": strRange = "A1:G20"
Case "Mai": strRange = "A1:G20"
Case "Juni": strRange = "A1:G20"
Case "Juli": strRange = "A1:G20"
Case "August": strRange = "A1:G20"
Case "September": strRange = "A1:G20"
Case "Oktober": strRange = "A1:G20"
Case "November": strRange = "A1:G20"
Case "Dezember": strRange = "A1:G20"
End Select
If strRange  "" Then
wksZ.UsedRange.Clear
wksQ.Range(strRange).Copy wksZ.Range(strRange)
End If
wksZ.Protect Password:="blau" 'Hier steht das Passwort zum Blattschutz
Next wksZ
Application.ScreenUpdating = True
wkbZ.Save 'Die neue Arbeitsmappe speichen
Application.DisplayAlerts = True
wksbq.Close savechanges:=False
Application.Quit
Else
MsgBox "Du hast Abgebrochen" _
& vbNewLine & vbNewLine & _
"Die Datei wurde nicht exportiert und auch nicht gespeichert!", vbInformation
End If
End Sub

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige