Ich hab' alles ausprobiert, bekomme es aber nicht hin.
Das untere Makro kopiert mir die Werte des aktuellen Blattes in eine neue Datei.
Wie muss ich das Makro ändern, damit nicht nur das aktuelle Blatt, sondern alle Blätter mit den Namen 1 bis 25 einbezogen werden. Ein Blatt soll aber nur dann einbezogen werden, wenn in den betreffenden Zellen etwas steht. Wenn Sie leer sind, soll das Blatt bzw. die Zellen nicht kopiert werden.
Harti
(echt verzweifelt)
Sub CopyAll()
Dim rngA As Range, rngB As Range
Dim sFile As String, sPath As String
sPath = ThisWorkbook.Path & "/muster.xls"
Set rngA = ActiveSheet.Range("A1:F20")
Set rngB = ActiveSheet.Range("H5:H7")
sFile = Dir(sPath)
If sFile = "" Then
Workbooks.Add
Else
Workbooks.Open sPath
End If
rngA.Copy
Range("A1").select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats
rngB.Copy
Range("H5").select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs sPath
Application.DisplayAlerts = True
End Sub