Anna Lea hat eine schreibgeschützte Arbeitsmappe, die sie als Vorlage für einen von ihr erstellten täglichen Bericht verwendet. Der Dateiname ist ziemlich lang und endet mit 20507xx. Wenn sie auf die Arbeitsmappe doppelklickt, wird sie geöffnet und zeigt an, dass sie schreibgeschützt ist. Sie nimmt ihre Änderungen vor und verwendet dann Speichern unter. Da Excel erkennt, dass die Datei schreibgeschützt ist, wird ein neuer Dateiname vorgeschlagen, der aus dem alten mit den Worten „Kopie von“ als Präfix besteht. Anna möchte die „Kopie von“ loswerden, damit sie nur den „xx“ -Teil des Dateinamens ändern muss, um den Tagesbericht zu erstellen.

Die Aussprache „Kopie von“ wird von Excel automatisch hinzugefügt. Wenn Sie Speichern unter verwenden, können Sie dies nicht ändern, ohne ein Makro zur Steuerung des Speichervorgangs zu verwenden. Das folgende Makro, das als Teil des ThisWorkbook-Objekts gespeichert wurde, zeigt, wie dies durchgeführt werden kann.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI _   As Boolean, Cancel As Boolean)

Dim sTemp As String     Dim sCheck As String     sCheck = "xx.xls"



If SaveAsUI Then         sTemp = ThisWorkbook.Name         If Right(sTemp, Len(sCheck)) = sCheck Then             sTemp = Left(sTemp, Len(sTemp) - Len(sCheck))

sTemp = sTemp & Format(Now, "dd") & ".xls"

sTemp = ThisWorkbook.Path & "/" & sTemp             ThisWorkbook.SaveAs Filename:=sTemp, _               FileFormat:=xlNormal             Cancel = True         End If     End If End Sub

Das Makro prüft zunächst, ob das Dialogfeld Speichern unter angezeigt werden soll. Wenn dies der Fall ist, wird der Name der Arbeitsmappe der Variablen sTemp zugewiesen. Dieser Name wird überprüft, um festzustellen, ob die letzten sechs Zeichen „xx.xls“ sind (aus der Variablen sCheck). Wenn dies der Fall ist, wird angenommen, dass die Arbeitsmappe diejenige ist, in der der Name geändert werden muss.

Zuerst die Zeichen „xx.xls“ (oder was auch immer Sie sCheck zugewiesen haben)

werden vom Ende des Arbeitsmappennamens entfernt. Dann wird das heutige Datum (zwei Ziffern für den Tag des Monats) an den Dateinamen angehängt, gefolgt vom Suffix „.xls“. Schließlich wird die Arbeitsmappe unter Verwendung dieses neu erstellten Dateinamens gespeichert. Das Flag Abbrechen ist auf True gesetzt, sodass das Dialogfeld Speichern unter niemals angezeigt wird.

Beachten Sie, dass der Name niemals auf das Wort „Kopie von“ überprüft wird. Der Grund dafür ist einfach: Der Wortlaut wird erst am Anfang des Dateinamens hinzugefügt, wenn das eigentliche Dialogfeld Speichern unter angezeigt wird. Vor diesem Zeitpunkt (wenn dieser Ereignishandler ausgeführt wird) bleibt der Name der Arbeitsmappe unverändert.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (3064) gilt für Microsoft Excel 97, 2000, 2002 und 2003.