Kopieren einzelner Blätter in neue Arbeitsmappe

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Kopieren einzelner Blätter in neue Arbeitsmappe
von: Bre
Geschrieben am: 24.10.2003 10:55:47

Hallo,

ich will die einzelnen Blätter einer (Ausgangs-) Mappe seperat als neue Arbeitsmappen speichern, und dabei die ursprüngliche Mappe leeren.
Die neuen Arbeismappen sollen jeweils nur das verschobene Blatt enthalten, und am besten mit diesem Namen gespeichert werden.

Was ist der eleganteste Weg dafür.
Danke für eine kurze Hilfe

mfg
bre

Bild


Betrifft: AW: Kopieren einzelner Blätter in neue Arbeitsmappe
von: FP
Geschrieben am: 24.10.2003 11:08:59

Hallo bre?

Klicke mit rechter Maustaste auf das Blattregister
Menüpunkt: verschieben/kopieren
zur Mappe: beim 1. Blatt: "neue Arbeitsmappe"
ab dem 2. Blatt: "Mappe1.xls" als Ziel angeben

nachdem alle gewünschten Blätter verschoben sind ursprüngliche Mappe schliessen
neue Mappe mit altem Namen speichern und bei Rückfrage das Überschreiben akzeptieren

Servus aus dem Salzkammergut
Franz


Bild


Betrifft: Sorry, ich meinte natürlich mit VBA Code...
von: bre
Geschrieben am: 24.10.2003 11:17:40

Sorry, ich meinte natürlich mit VBA Code...

(...die einzelnen Namen der Blätter in der Mappe liegen in einem Array und können in einer Schleife verwendet werden, aber ich krieg das irgendwie nicht hin.)

Danke nochmal.


Bild


Betrifft: AW: Sorry, ich meinte natürlich mit VBA Code...
von: ChrisL
Geschrieben am: 24.10.2003 11:33:10

Hi

Dann erzähl mal was über dein Array. Wie kommen die Daten dort rein. Wie sieht dein Code bisher aus usw.

> und dabei die ursprüngliche Mappe leeren.
Was verstehst du darunter. Inhalt leeren, Blätter löschen etc. Ein Blatt muss aber mindestens in der Tabelle bleiben.

Gruss
Chris


Bild


Betrifft: Zur Zeit ...
von: bre
Geschrieben am: 24.10.2003 11:50:08

siehts so aus:

Die Namen der einzlenen Blätter lese ich über eine Schleife aus (oder "ein" -jenachdem):
Die Namen sind immer gleich.

Dim bez(9)
bez(0) = "Deutsch"
bez(1) = "Italien"
bez(2) = "England"
bez(3) = "Südfrankreich"
bez(4) = "Spanien"
bez(5) = "Portugal"
bez(6) = "Sonderl. Portugal"
bez(7) = "Griechenland"
bez(8) = "Spanien in EUR"
bez(9) = "Sonderl. Span."

For durchlauf = 0 To 9 ....

bez(durchlauf)...

jetzt müsste ich hier doch die einzelen Blätter in eine neue Mappe verschieben können, und dann das leere Blatt der neuen Mappe (Tabelle1) gleich löschen. Dann zur Ausgangsmappe zurück...

next durchlauf

...und nächstes Blatt bearbeiten, etc.


mfg
bre



Bild


Betrifft: AW: Zur Zeit ...
von: ChrisL
Geschrieben am: 24.10.2003 12:35:46

Hi bre

Option Explicit


Sub BlätterVerschieben()
Dim WB As Workbook, WS As Worksheet
Dim Bez(9) As Variant
Dim i As Integer
On Error GoTo ErrorHandler
Bez(0) = "Deutsch"
Bez(1) = "Italien"
Bez(2) = "England"
Bez(3) = "Südfrankreich"
Bez(4) = "Spanien"
Bez(5) = "Portugal"
Bez(6) = "Sonderl. Portugal"
Bez(7) = "Griechenland"
Bez(8) = "Spanien in EUR"
Bez(9) = "Sonderl. Span."
Application.ScreenUpdating = False
For i = 0 To UBound(Bez)
    Set WB = Workbooks.Add
    ThisWorkbook.Sheets(Bez(i)).Move Before:=WB.Sheets(1)
    Application.DisplayAlerts = False
    For Each WS In WB.Worksheets
        If WS.Name <> Bez(i) Then WS.Delete
    Next WS
    Application.DisplayAlerts = True
    WB.SaveAs "C:\PFAD\" & Bez(i) & ".xls"
    WB.Close
Next i
Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
MsgBox "Fehler!"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub



Die Blattnamen mit Punkten werden sich allerdings als Dateinamen nicht gut machen.

Gruss
Chris


Bild


Betrifft: Super! *Anerkennungaussprech* ot
von: bre
Geschrieben am: 24.10.2003 13:20:42

asd


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Kopieren einzelner Blätter in neue Arbeitsmappe"