ich suche nach einer gut funktionierenden Methode in Excel um eine fortlaufende Nummerierung von Mappen sicherzustellen.
Ich habe mitr folgendes überlegt:
Starten einer XLT Datei.
EInmaliges Setzen der Seriennummer auf Startwert.
Die Nummerierung setzt sich aus Initiale und Nummer zusammen:
z. B. MM_001
Beim Speichern folgendes Makro:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
frage = MsgBox("Die Seriennummer dieser Abrechnung wird vor dem Speichern geändert." & vbCr & vbCr & "Soll auch die Vorlagendatei geändert werden?" & vbCr & vbCr & "Klicken Sie auf ""Ja"" um Vorlagendatei und das aktive Dokument zu speichern" & vbCr & "Klicken Sie auf ""Nein"" um nur das aktuelle Dokument zu speichern ohne Änderung der Seriennummer", vbYesNo, "Änderung in Vorlagendatei übernehmen?")
If frage = vbYes Then
Application.ScreenUpdating = False
Sheets("Mappe2").Select
Nummer = Range("A2").Value
Nummer = Nummer + 1
Range("A2").Value = Nummer
quelle2 = "c:\windows\anwendungsdaten\microsoft\vorlagen\reisekosten.xlt"
Sheets("Mappe1").Select
Workbooks.Open Filename:=quelle2, Editable:=True
Workbooks(Workbooks.Count).Activate
Sheets("Mappe2").Activate
serial2 = ThisWorkbook.Sheets("Mappe2").Cells(2, "A").Value
initiale2 = ThisWorkbook.Sheets("Mappe2").Cells(1, "A").Value
Workbooks(Workbooks.Count).Sheets("Mappe2").Range("A2").Value = serial2
Workbooks(Workbooks.Count).Sheets("Mappe2").Range("A1").Value = initiale2
Sheets("Mappe1").Select
Workbooks(Workbooks.Count).Save
Workbooks(Workbooks.Count).Close
ThisWorkbook.Activate
Sheets("Mappe1").Select
Application.ScreenUpdating = True
End If
Ich habe nun nur noch das Problem, das beim Speichern in die Vorlagendatei (Antwort= Ja) eine Schleife erzeugt wird, d.h. in der Vorlagendatei( *.xlt) das Ereignis-Makro "beforeSave" auch greift.
Wie bekomme ich das weg?
Oder hat jemand für die ganze Nummerierung eine bessere Idee?
Vorstellbar wäre auch die Vergabe von Nummernblöcken pro Arbeitsmappe, aus denen dann die jew. letzte Nummer entnommen wird.