Hintergrund ist eine eindeutige Identifizierung des Beleges (Rechnungsnummer, fortlfd. Nummerierung einer Anfordeurng etc.)
Wer weiß Rat?
Private Sub Workbook_Open()
If ThisWorkbook.Name = "Rechnungsvorlage 1.xls" Then
With Sheets("Tabelle1").Range("A2")
.Value = .Value + 1
thisworkbook.save
End With
End If
End Sub
damit das Makro funktioniert, musst die Vorlage den Namen "Rechnungsvorlage 1.xls" haben (kannst du natürlich im Makro ändern).
Dann wird bei jedem Öffnen der Vorlagendatei die Rechnungsnummer in Tabelle1 Zelle A2 um 1 erhöht (die Rechnungsnummer muss natürlich eine Zahl sein).
die Rechnung selbst musst du dann natürlich unter einem anderen Namen speichen.
neue Rechnungen darfst du natürlich nur aus der Vorlage heraus erstellen, nicht durch verändern einer bestehenden Rechnung
Gruß, Daniel
Private Sub Workbook_Open()
If ThisWorkbook.Name = "Bürgschaftsanforderung1.xls" Then
With Sheets("Bürgschaftsanforderung").Range("G1")
.Value = .Value + 1
ThisWorkbook.Save
End With
End If
End Sub
Also wenn ich die Vorlage öffne, benennt Excel die Datei "Bürg....xlt" automatisch in "Bürg...1.xls". Daher habe ich hier in der Wenn/Dann Abfrage nach der Bedingung (wenn Name =Bürgschaftsanforderung1.xls" definiert.
Welcher Dateiname soll den nun in der Abfrage stehen? der Name der ursprünglichen Dateivorlage oder der durch das öffnen neu vergebene Name?
Weiterhin bin ich davon ausgegangen, dass in der 'with Sheets' der NAme des Tabellenblattes reingehört.
Stimmt das nicht.
Danke für die Hilfe
Private Sub Workbook_Open()
Workbooks.Open(Filename:= _
"C:\Programme\Microsoft Office\Vorlagen\Tabellenvorlagen\RECHNUNGX.XLT", _
Editable:=True).RunAutoMacros Which:=xlAutoOpen
Cells(1, 1).Value = Cells(1, 1).Value + 1
RNummer = Cells(1, 1).Value
ActiveWorkbook.Save
ActiveWorkbook.RunAutoMacros Which:=xlAutoClose
ActiveWorkbook.Close
Workbooks.Add Template:= _
"C:\Programme\Microsoft Office\Vorlagen\Tabellenvorlagen\Rechnungx.xlt"
End Sub
Hier passiert folgendes:
Eine Vorlagendatei im Pfad C:\Programme\Microsoft Office\Vorlagen\Tabellenvorlagen wird beim Ö _
ffnen einer bestimmten Mappe (die Du nur zum Ausführen des Makros benötigst) gelesen, der Zähler um 1 erhöht !! Pfad und Position anpassen !! und zurückgeschrieben. Anschließend wird eine neue Mappe unter Verwendung der geänderten Vorlage erstellt. Vor Dir liegt nun eine neue Mappe mit erhöhter Rechnungsnummer.
Du mußt nur die Datei Rechnungx.xlt einmal richtig erstellen. In einer eigenen leeren Mappe _
legst Du nur den Makro wie oben beschrieben an un speicherst z.B. unter dem Namen Rechnungsaufruf.xls ab.
So hat es geklappt. Ist zwar sehr kompliziert, aber wirksam....
Danke für Geduld, Anregungen und Hilfe