Blatt in neue Excel
10.01.2019 13:07:19
Holger
Beim Versuch einen Code aus dem Netz anzupassen, komme ich nicht weiter.
Höchst wahrscheinlich weil ich mir das zu einfach vorstelle.
Der Ursprungscode
Option Explicit
Sub ErstelleEXCEL()
Application.ScreenUpdating = False
ActiveSheet.Copy
Dim neuName As String
neuName = InputBox("Unter welchem Namen soll die Datei gespeichert werden?")
'Pfad anpassen "D:\?\
ActiveWorkbook.SaveAs Filename:="D:\Downloads\" & neuName & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
'Pfad anpassen "D:\?\
MsgBox " Die Datei wurde unter D:\Downloads\ " & neuName & " gespeichert !", vbibformation
Application.ScreenUpdating = True
End Sub
Meine Variante
Sub ErstelleEXCEL()
Application.ScreenUpdating = False
ActiveSheet.Copy
ActiveSheet.Name "_" & _
"Leistungsnachweis_" & ActiveSheet.Range("A10").Value & "_" & Format(Range("E5"), "mm-yy") & _
_
".xlsx", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
MsgBox " Die Datei wurde gespeichert !"
Application.ScreenUpdating = True
End Sub
Mit einem ähnlichen Weg konnte ich schon PDFs erstellen...
Etwas muss falsch sein, weil die Mappe mit neuem Blatt wird zwar erstellt,
aber Debugger erscheint mit:
"Laufzeitfehler 1004
anwendungs- oder objektdefinierter Fehler"
Markierung kommt bei:
ActiveSheet.Name "_" & _
"Leistungsnachweis_" & ActiveSheet.Range("A10").Value & "_" & Format(Range("E5"), "mm-yy") & _
_
".xlsx", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Die Beispiele in den Recherchen helfen mir nicht 100pro weiter,
weil sie sich immer auf festgelegte Dateipfade und variable Namen beziehen.
Einen konkreten Dateipfad kann ich nicht verwenden,
da Speicherort = Projektabhängig und der Dateiname soll sich aus ActiveSheet.Name und Zellen selbst generieren.
Dateipfad darf sich aber auf die Ausgangsdatei beziehen.
Die erweiterte Lösung wird dann noch enthalten müssen, dass sich die Formeln aus den löschen und nur die Werte zum Zeitpunkt der Speicherung erhalten bleiben.
Auch hierzu schon massig gefunden. aber am umschreiben + integrieren hapert es
Sub Bereich_ersetzen(strAdresse As String)
Dim wS As Worksheet
For Each wS In ActiveWorkbook.Windows(1).SelectedSheets
With wS.Range(strAdresse)
.Value = .Value
End With
Next wS
End Sub
Für andere Vorschläge bin natürlich dankbar !
Anbei noch die Probedateien
"1 - Abrechnung LNW blanko" MIT MAKRO
https://www.herber.de/bbs/user/126641.xlsm
oder ohne makros:
https://www.herber.de/bbs/user/126642.xlsx
Mit besten Grüßen
Holger