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

Jedes Arbeitsblatt einzeln speichern, nicht das 1.

Jedes Arbeitsblatt einzeln speichern, nicht das 1.
Ruth
Hallo Excel-Spezis,
leider habe ich im Archiv nichts gefunden:
ich möchte jedes Arbeitsblatt einzeln speichern, bis auf das 1. Blatt.
Zur Zeit nutze ich ein aufgezeichnetes Makro, in dem ich jedes einzelne Blatt selektiert habe. Das Problem habe ich, wenn die Namen der Arbeitsblätter sich verändern oder eines hinzukommt. Dann muss ich immer an das Makro ran.
Ich weiß aber, daß Ihr solche Tricks drauf habt, die Makros flexibel zu gestalten :-)
Könnt Ihr mir Tipps geben?
Hier ist mein Makro: nicht erschrecken, ist aufgezeichnet ;-)

Private Sub CommandButton1_Click()
' Sheet LES:'
Sheets("LES").Select
Sheets("LES").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files"
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
'Sheet VIS:'
Sheets("VIS").Select
Sheets("VIS").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Sheet1").Select
' Sheet AUTO:'
Sheets("AUTO").Select
Sheets("AUTO").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files"
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
'Sheet SEMI:'
Sheets("SEMI").Select
Sheets("SEMI").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Sheet1").Select
' Sheet PV:'
Sheets("PV").Select
Sheets("PV").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files"
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
'Sheet EBG:'
Sheets("EBG").Select
Sheets("EBG").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Sheet1").Select
'Sheet IAS:'
Sheets("IAS").Select
Sheets("IAS").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Sheet1").Select
' Sheet CNC:'
Sheets("CNC").Select
Sheets("CNC").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files"
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
'Sheet EDM:'
Sheets("EDM").Select
Sheets("EDM").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Sheet1").Select
'Sheet EMC:'
Sheets("EMC").Select
Sheets("EMC").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Sheet1").Select
'Sheet LPM:'
Sheets("LPM").Select
Sheets("LPM").Copy
ActiveSheet.Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & Range("  _
_
_
_
_
_
A3").Value & "_" & ActiveSheet.Name & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Sheet1").Select
MsgBox "BU Files have been saved in P:\CONTR\...\Monthly_MEU_Rep\Sent_Files\"
End Sub

Vielen Dank im Voraus
Gruß
Ruth
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
27.05.2011 14:32:20
Rudi
Hallo,
versuch das mal:
Private Sub CommandButton1_Click()
Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To Worksheets.Count
Sheets(i).Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Parent.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" _
& " Monthly report MEUGER_" & Range("A3").Value _
& "_" & ActiveSheet.Name & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
.Parent.Close
End With
Next i
Sheets(1).Select
MsgBox "BU Files have been saved in P:\CONTR\...\Monthly_MEU_Rep\Sent_Files\"
End Sub

Gruß
Rudi
Anzeige
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
27.05.2011 14:59:10
Ruth
Wow, es funktioniert auf Anhieb. Spitze!
Das sieht so einfach aus. Ich wünschte, ich könnte das:-)
Vielen Dank, Rudi!
Schönes Wochenende
Ruth
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
27.05.2011 14:40:42
Uwe
Hallo Ruth,

Private Sub CommandButton1_Click()
Dim i As Long
For i = 2 To Worksheets.Count
Worksheets(i).Copy
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & _
ActiveSheet.Range("A3").Value & "_" & ActiveSheet.Name & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorbook.Close
Next i
End Sub
Gruß Uwe
Anzeige
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
27.05.2011 15:03:03
Ruth
Ihr seid super! Danke auch Dir, Uwe :-)
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
27.05.2011 15:11:38
Ruth
Noch eine Frage:
wie könnte man dieses tolle Makro so verändern, daß immer
a) Blatt 1 + 2
b) Blatt 3 + 4
c) ...
als eigene Datei gespeichert werden? Hier geht es um eine andere Arbeitsmappe, bei der immer 2 Blätter zusammen gehören.
Gruß
Ruth
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
27.05.2011 17:51:51
Uwe
Hallo Ruth,
teste mal das:

Private Sub CommandButton1_Click()
Dim i As Long
Dim oWbQ As Workbook
Set oWbQ = ActiveWorkbook
For i = 1 To oWbQ.Worksheets.Count Step 2
oWbQ.Worksheets(i).Copy
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
oWbQ.Worksheets(i + 1).Copy After:=ActiveWorkbook.Sheets(1)
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
ActiveWorkbook.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & _
ActiveSheet.Range("A3").Value & "_" & ActiveSheet.Name & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorbook.Close
Next i
End Sub
Gruß Uwe
Anzeige
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
30.05.2011 10:51:33
Ruth
Hallo Uwe,
vielen Dank für den Code.
Beim Testen bekomme ich leider einen Laufzeitfehler '424' Objekt erforderlich and der Stelle: ActiveWorbook.Close
Hast Du eine Idee, woran das liegt?
Viele Grüße
Ruth
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
30.05.2011 11:30:11
Uwe
Hallo Ruth,
da fällt mir jetzt nichts dazu ein. :-(
Gruß Uwe
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
30.05.2011 11:50:24
Ruth
Hallo Uwe,
ich schicke mal die Datei inkl. dem eingefügten Code. Vielleicht hast Du ja mal Zeit, Dir das anzusehen?
https://www.herber.de/bbs/user/75075.xls
Viele Grüße
Ruth
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
30.05.2011 12:32:23
Uwe
Hallo Ruth,
ja, der Fehler war bei mir auch.
Teste es mal so:

Private Sub CommandButton1_Click()
Dim i As Long
Dim oWbQ As Workbook
Dim oWbZ As Workbook
Set oWbQ = ActiveWorkbook
For i = 1 To oWbQ.Worksheets.Count Step 2
oWbQ.Worksheets(i).Copy
Set oWbZ = ActiveWorkbook
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
oWbQ.Worksheets(i + 1).Copy After:=oWbZ.Sheets(1)
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
oWbZ.SaveAs Filename:= _
"P:\CONTR\Report2011\Monthly_MEU_Rep\Sent_Files\" & " Monthly report MEUGER_" & _
ActiveSheet.Range("A3").Value & "_" & ActiveSheet.Name & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
oWbZ.Close
Next i
End Sub
Gruß Uwe
Anzeige
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
30.05.2011 14:20:55
Ruth
Hallo Uwe,
klappte in der einen Datei super, vielen Dank :-)
Den gleichen Code angewendet auf eine andere Datei funktioniert plötzlich nicht mehr. Bleibt hängen bei oWbQ.Worksheets(i).Copy. "Laufzeitfehler 1004: Die Copy-Methode des Worksheet-Objektes konnte nicht ausgeführt werden." Den Code habe ich, allerdings erst nach diesem Schritt, wie folgt geändert (nur Dateinamen angepasst):
Private Sub CommandButton1_Click()
Dim i As Long
Dim oWbQ As Workbook
Dim oWbZ As Workbook
Set oWbQ = ActiveWorkbook
For i = 1 To oWbQ.Worksheets.Count Step 2
oWbQ.Worksheets(i).Copy
Set oWbZ = ActiveWorkbook
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
oWbQ.Worksheets(i + 1).Copy After:=oWbZ.Sheets(1)
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
oWbZ.SaveAs Filename:= _
ActiveSheet.Range("V1").Value & ActiveSheet.Range("V2").Value & _
ActiveSheet.Range("V3").Value & ActiveSheet.Range("V4").Value & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
oWbZ.Close
Next i
End Sub
Die Datei kann ich nicht anhängen, die ist zu groß.
Viele Grüße
Ruth
Anzeige
AW: Jedes Arbeitsblatt einzeln speichern, nicht das 1.
01.06.2011 15:16:43
Uwe
Hallo Ruth,
kann ich leider nicht nachvollziehen.(mit E2k)
Vielleicht ist das Blatt ausgeblendet ( wobei da bei mir Excel abstürzt)
oder geschützt?
Gruß Uwe

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige