Hallo,
ich nutze derzeit ein Blanko-Formular in Excel, um damit Rechnungen zu erstellen.
Nach dem Ausfüllen speicher ich jede Rechnung unter einem anderen Namen und öffne bei der nächsten Rechnung wieder die Blanko-Ursprungsdatei.
Unter anderem kommt in dem Formular die Rechnungsnummer vor. Diese setze ich bidlang immer manuell um eins nach oben.
Gibt es ggf. eine Möglichkeit, dass Excel automatisch bei jedem Öffnen der Blanko-Datei automatisch diese Nummer um eins erhöht? Allerdigs müsste dann, nachdem die Rechnung ausgefüllt und unter anderem Namen gespeichert wurde dieser Zähler bei der einmal vergebenen Rechnungsnummer bleiben und diese nicht bei jedem Öffnen noch eins weiter hoch setzen.
Hoffe ich konnte rüber bringen, was mir vorschwebt?
Gibt es aus eurer Sicht dafür eine halbwegs praktikable Lösung?
Gruß
Martin
ja
Gibt es ggf. eine Möglichkeit, dass Excel automatisch bei
jedem Öffnen der Blanko-Datei automatisch diese Nummer um eins
erhöht? Allerdigs müsste dann, nachdem die Rechnung ausgefüllt
und unter anderem Namen gespeichert wurde dieser Zähler bei
der einmal vergebenen Rechnungsnummer bleiben und diese nicht
bei jedem Öffnen noch eins weiter hoch setzen.
Private Sub Workbook\_Open()
inhaltszelle = "B2" ' Mit der Zelle in der die Zahl steht ersetzen - evtl auch mit sheetangabe -\> "Tabelle1!B2"
excelname = "PERSONL.XLS" ' Mit dem Dateinamen der Quelldatei ersetzen
If ThisWorkbook.Name = excelname Then
Range(inhaltszelle).Value = Range(inhaltszelle).Value + 1
ActiveWorkbook.Save
End If
end sub
> Hoffe ich konnte rüber bringen, was mir vorschwebt?
> Gibt es aus eurer Sicht dafür eine halbwegs praktikable
> Lösung?
verstehst Du wie Du diese umsetzt?
Gibt es ggf. eine Möglichkeit, dass Excel automatisch bei
jedem Öffnen der Blanko-Datei automatisch diese Nummer um eins
erhöht? Allerdigs müsste dann, nachdem die Rechnung ausgefüllt
und unter anderem Namen gespeichert wurde dieser Zähler bei
der einmal vergebenen Rechnungsnummer bleiben und diese nicht
bei jedem Öffnen noch eins weiter hoch setzen.
Hi Martin,
Alt+F11, Doppelklick auf „DieseArbeitsmappe“, Code einfügen, Anpassen, Editor schliessen, Datei als Vorlage speichern.
Wenn du was an der Vorlage ändern willst, öffne sie mit deaktivierten Makros.
Die Zeilen in denen du anpassen kannst/musst sind fett markiert.
Gruß
Reinhard
Option Explicit
Private Sub Workbook\_Open()
Dim intIndex As Integer, intLine As Integer
Dim intStartLine As Integer, intEndLine As Integer
If ThisWorkbook.CustomDocumentProperties.Count = 0 Then
ThisWorkbook.CustomDocumentProperties.Add Name:="Nr", LinkToContent:=False, Type:=msoPropertyTypeNumber, **Value:=0**
End If
ThisWorkbook.CustomDocumentProperties("Nr") = ThisWorkbook.CustomDocumentProperties("Nr") + 1
ThisWorkbook.SaveAs Filename:=" **Rechnung**" & ThisWorkbook.CustomDocumentProperties("Nr")
ThisWorkbook.Worksheets(" **Tabelle1**").Range(" **A1**") = ThisWorkbook.CustomDocumentProperties("Nr")
With ThisWorkbook.VBProject
For intIndex = 1 To .VBComponents.Count
With .VBComponents(intIndex).CodeModule
For intLine = 1 To .CountOfLines
If .ProcOfLine(intLine, 0) = "Workbook\_Open" Then
If intStartLine = 0 Then
intStartLine = intLine
Else
intEndLine = intLine
End If
End If
Next
If intStartLine 0 Then
.DeleteLines intStartLine, intEndLine - intStartLine + 1
Exit For
End If
End With
Next
End With
End Sub
Lieber Martin,
es gibt auch eine schöne Excel-Rechnungsvorlage, die Sie sich mal ansehen sollten > Datei > Neu > Tabellenvorlage > Rechnung.xlt. Sie erfüllt jedenfalls die Ansprüche über eine kleine Datenbank-Tabelle. Ist aber nichts für Excel-Anfänger.
Fablonow