Hi Willy,
es hilft der Übersichtlichkeit, wenn die Dimensionierung der Variablen am Anfang des Codes erfolgt:
@All: geht das auch so? Nimmt Excel dann auch die 4 Zellen?
Damit könnte das Makro um 1/4 gekürzt werden.
Und dann noch einen Teil das SaveAs weg:
es hilft der Übersichtlichkeit, wenn die Dimensionierung der Variablen am Anfang des Codes erfolgt:
Code:
Option Explicit
Sub Dummydatei()
Dim Pfadname As String
Dim fs As Object
Dim Ordnervorhanden As String
Dim loA As Long
Pfadname = "D:\Berichte\"
Pfadname = Pfadname & ActiveSheet.Range("F3")
ChDrive Pfadname
Set fs = CreateObject("Scripting.FileSystemObject")
Ordnervorhanden = fs.FolderExists(Pfadname)
If Ordnervorhanden Then
ChDir Pfadname
Else
Set fs = fs.CreateFolder(Pfadname)
End If
For loA = ActiveSheet.Range("C2") To Range("D2")
Pfadname = "D:\Berichte\"
Pfadname = Pfadname & ActiveSheet.Range("F3")
ActiveWorkbook.SaveAs Filename:= _
Pfadname & Format(Str(loA), "00") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Next
For loA = ActiveSheet.Range("C3") To Range("D3")
Pfadname = "D:\Berichte\"
Pfadname = Pfadname & ActiveSheet.Range("F3")
ActiveWorkbook.SaveAs Filename:= _
Pfadname & Format(Str(loA), "00") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Next
Application.Quit
End Sub
@All: geht das auch so? Nimmt Excel dann auch die 4 Zellen?
Code:
For loA = ActiveSheet.Range("C2") To Range("D3")
Pfadname = "D:\Berichte\"
Pfadname = Pfadname & ActiveSheet.Range("F3")
ActiveWorkbook.SaveAs Filename:= _
Pfadname & Format(Str(loA), "00") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Next
Damit könnte das Makro um 1/4 gekürzt werden.
Und dann noch einen Teil das SaveAs weg:
Code:
Option Explicit
Sub Dummydatei()
Dim Pfadname As String
Dim fs As Object
Dim Ordnervorhanden As String
Dim loA As Long
Pfadname = "D:\Berichte\"
Pfadname = Pfadname & ActiveSheet.Range("F3")
ChDrive Pfadname
Set fs = CreateObject("Scripting.FileSystemObject")
Ordnervorhanden = fs.FolderExists(Pfadname)
If Ordnervorhanden Then
ChDir Pfadname
Else
Set fs = fs.CreateFolder(Pfadname)
End If
For loA = ActiveSheet.Range("C2") To Range("D2")
Pfadname = "D:\Berichte\"
Pfadname = Pfadname & ActiveSheet.Range("F3")
ActiveWorkbook.SaveAs Filename:= _
Pfadname & Format(Str(loA), "00") & ".xls", FileFormat:=xlNormal
Next
Application.Quit
End Sub