Wenn ich den code unter der Vorlagenblatt unter Vba eingebe und es dann als Macro speichere, Beim nächsten aufrufen Macros einschalte und dann mit der Namen in W4 auf speichern gehe, speichert er es nicht mit dem Namen ab. Erst wenn ich auf Macros gehe und ausführen drücke macht er es !
Noch mal zum Verständnis:
Du musst eine «Vorlagendatei» verwenden. Das wäre optimal zwar eine .XLTX [die lassen sich so weit ich weiß nur explizit als T für Template, Vorlage, speichern, sonst aber wollen sie zu einer XLSX werden], aber die Leute umzugewöhnen ist nicht leicht. Also bleiben wir bei einer .XLSX. Diese Datei darf um Himmels Willen nicht verändert gespeichert werden (außer von dir)! Deswegen mein Code oben mit…
ThisWorkbook.SaveCopyAs ("Z:\_Neumann\BVBsT5\2012\" & Range("W4") & ".xlsx")
ActiveWorkbook.Close (False)
Cancel = False
…in
Workbook_BeforeClose (da habe ich oben geschlafen)! Speichern unter anderem Namen beim schließender Mappe, ein BeforeSave, taugt hier nicht und ändert an der Logik nichts Eingaben zu erwarten & zu prüfen (daher da auch Cancel=False; den Trick nutze ich anderweitig auch gegen Unfälle).
Dein Speichermakro als einzelne Sub ist eher überflüssig und neigt zu Missbrauch. Und denke bitte über einen Notausstieg nach!
Eric March