Datei verschwindet trotz manuellem Save
18.02.2021 18:48:33
Robin
folgendes Problem hat sich bei mir eingeschlichen und ich weiß nicht weiter.
Situation ist Folgende:
Ich habe eine Tabelle, deren Inhalt sich ändert, je nachdem was in einem Dropdown-Menü ausgewählt wurde.
Nun möchte ich für manche dieser Auswahlen eine Kopie des Arbeitsblatts in einer eigenen Datei abspeichern.
Hierfür habe ich mir ein Macro zusammengeschrieben, welches genau dies tut und die Datei auch _
direkt richtig benennt und abspeichert und danach sofort schließt.
Sub speichern()
Dim Dateiname As String
On Error GoTo Fehler
Dateiname = Range("F4")
'Stellt sicher, dass wir uns im aktuellen Ordner befinden
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path
ActiveSheet.Copy
ActiveWorkbook.SaveAs (Dateiname)
ActiveWorkbook.Close SaveChanges:=True
Exit Sub
'Fehlermeldungs-Fenster
Fehler:
MsgBox "Name enthält Sonderzeichen, manuelles Speichern unter abgeändertem Namen nötig."
End Sub
Wenn nun ein Fehler auftritt, dann wird das Fenster mit der Meldung angezeigt und die kopierte (aber nicht gespeicherte) "extrahierte" Tabellenblatt ist zusätzlich zur Originaldatei offen. Hier würde ich nun auf "Speichern unter..." gehen und es unter einem normalen Namen speichern. Anschließend die Datei schließen und weiterarbeiten.Problem:
1) Er schließt mir dann meine Hauptdatei (weil er ja denke ich versucht im Code weiterzukommen und dann das aktive Arbeitsblatt schließt, welches dann meine ActiveWorksheet ist).
2) Die manuell abgespeicherte Datei, welche den Fehler aufgrund des ungültigen Dateinamens hervorgerufen hat, ist nicht auffindbar.
Woran liegt das? Nur mit Problem 1 könnte ich leben, aber Problem 2 macht mich ratlos.
Per Workaround könnte man natürlich alle Dateinamen entsprechend "richtig" machen (suchen und ersetzen von ungültigen Zeichen mit gültigen Zeichen), aber ich würde gerne das Problem und eine mögliche Lösung verstehen :)
Vielen Dank!
Robin