Rechnungsnummern sollten möglichst fortlaufend sein, zumindest aber einmalig. Wobei meine Steuerberaterin auf die laufende Nummer bestanden hat. Also soll sie sie bekommen!

 

Dokumentation
Code

 Damit dieser Code funktioniert, gehen Sie zunächst so vor, wie beim ersten Teil beschrieben, um in den Code-Editor von VBA zu kommen.

Dor müssen Sie aber nun ein neues Modul anlegen (sofern nicht schon eines da ist, dann reicht es einfach den Code ans Ende zu kopieren). Es gibt mehrere Möglichkeiten ein neues Modul einzufügen. Am einfachsten geht es über das obere Menü. Dort einfach auf Einfügen klicken und dann Modul auswählen. Sie sehen links im Projekt-Explorer ganz unten das Modul. Ich habe mein Modul umbenannt in "AutoNew". Den gleichen Namen wie auch die Prozedur trägt. Aber das müssen Sie nicht tun. Sie können auch den Namen "Modul1" einfach so stehen lassen. Eventuell müssen Sie auf das Verzeichnis Modul zuerst klicken. In dieses Modul kopieren Sie den umstehenden Code hinein.

Immer wenn Sie dann eine neue Rechnung auf Basis der Vorlage erstellen, wird automatisch die Rechnungsnummer erzeugt.

wordrechtextdatei

Sie müssen noch eine ini-Datei, bzw. Textdatei erzeugen. Ich habe diese Date bei mir "RechNr.ini" genannt. In dieser simplen Textdatei müssen Sie zunächst den Bereich benennen. Der steht in den eckigen Klammern und dann die Variable, die schließlich ausgelesen, ein hochgezählt und in das Rechnungsdokument übertragen werden soll.

 

 

 

wordrechtextmarke

Nun muss die Rechnungsnummer noch in Word eingefügt werden. Das geschieht mit einer Textmarke:

Platzieren Sie den Mauscursor dort, wo die Rechnungsnummer angezeigt werden soll und wählen Sie in Word das Menüband Einfügen aus und klicken dort auf Textmarke. Es öffent sich ein kleines Fenster, in dem vermutlich nichts drin steht. In der dortigen oberen Zeile tragen Sie per Hand das Wort ein, welches in der Ini-Datei die Rechnungsnummer enthält. Bei mir ist das das Wort Rechnr (ohne Punkt am Ende). Danach ein beherzter Klick auf "Hinzufügen". Das Fenster schließt sich und bei Ihrem Mauscursor ist vermutlich ein grauer Strich, ähnlich der römischen 1, zu sehen. Nach Start einer neuen Rechnung, wird dort automatisch die Rechnungsnummer ausgegeben.

 

 

 

 

 

 

 

 

 

 

 

 

 

 Sub AutoNew()
Rechnr = System.PrivateProfileString("D:\Daten\TEXTE\time4mambo\RechNr.ini", _
"Rechnungsnummer", "Rechnr")
Rechnr = Rechnr + 1
System.PrivateProfileString("D:\Daten\TEXTE\time4mambo\RechNr.ini", "Rechnungsnummer", _
"Rechnr") = Rechnr
ActiveDocument.Bookmarks("Rechnr").Range.InsertBefore Format(Rechnr, "#")
End Sub

Der Code ist erstaunlich unspektakulär. Die Prozedur AutoNew startet automatisch nachdem Sie die Vorlage laden. Der Variablen Rechnr (die wird auch in unserer Textmarke ausgegeben) wird der Inhalt unserer ini-Datei zugewiesen und mitgeteilt, dass unter dem Bereichsnamen "Rechnungsnummmer" der Wert aus "Rechnr" übergeben werden muss.

Danach wird die Rechnr um eine Zahl hochgezählt ( Rechnr = Rechnr + 1 ).

Nun wird die erste Zeile quasi umgedreht. Zuvor wurde der Inhalt der ini-Datei der Rechnr zugewiesen und nun wird der Datei der neue, um einen hoch gezählten, Wert übergeben und automatisch gespeichert.

Und am Ende wird der Textmarke ( Bookmarks("Rechnr") ) einfach der Wert aus Rechnr übergeben. Die Raute ganz am Ende ist lediglich eine Formatierungsangabe. Die Zahl soll einfach dargestellt werden. Sie können auch nach der Raute eine oder mehrere Nullen schreiben, dann wird Ihre Rechnungsnummer immer mit einer "0" beginnen.

Wichtig ist, dass Sie die Variablennamen nicht verändern oder wenn, dann konsequent überall den neuen Namen hineinschreiben - denn sonst wird keine neue Nummer erzeugt und oder ausgegeben.

Ein Vorteil dieser Technik ist auch, dass Sie jederzeit die Ini-Datei editieren können, um die Rechnungsnummer zurückzusetzen, wenn Sie mal eine "falsche" Rechnung geschrieben haben.