Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel 2016 Vorlage
#21
Moin!
Range("F4") muss besser referenziert werden, Ralf!
Schließlich kann man ja nicht wissen, welches Sheet beim Öffnen gerade das ActiveSheet ist.
Worksheets("Rechnung").Range("F4").Value = Format(Date, "YYYYMM") & Format(intNo, "0000")

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#22
Außerdem halte ich nichts davon, alles ins Workbook_Open zu quetschen.
Wenn die Excel-Datei nicht gespeichert wird, hast Du keine kontinuierliche Re-Nr
So etwas (das Schreiben in die .ini) gehört (wie ich oben bereits schrieb) besser ins Before_Save

Two Cents,
Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#23
Hallo,

Zitat:So etwas (das Schreiben in die .ini) gehört (wie ich oben bereits schrieb) besser ins Before_Save

mein Gedanke mit dem Befor_Save, wobei ich nicht VBA-affin bin:

Wenn ich eine Rechnung schreibe und speichere wird eine Rechnungsnummer erzeugt.

Was passiert wenn eine Rechnung in ihrer Entstehungsphase mehrmals zwischengespeichert wird? Wird dann jedesmal die Rechnungsnummer hochgezählt?
Gruß
Peter
Antworten Top
#24
Ich schreibe ja im BeforeSave den Zellinhalt in die .ini
Wenn ich mehrfach speichere, wird halt immer die gleiche Nummer geschrieben.
Die Kontinuität der Rechnungen ist also gewährleistet.
Bei obigem Code besteht die große Gefahr, eine Rechnung zu suchen, die gar nicht existiert!
Dann mal viel Spaß bei der nächsten Betriebsprüfung!  :21:
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#25
Hallo,

Zitat:Zellinhalt in die .ini

ah, danke für die Klarstellung.
Gruß
Peter
Antworten Top
#26
Hi,

ihr habt recht!

Ich habe es nun so gemacht:

Code:
Option Explicit

Public intNo   As Integer
Public strFile As String

Private Sub Workbook_Open()
  strFile = ThisWorkbook.Path & "\factura_" & Format(Date, "YYYY") & ".ini"
 
  If Dir(strFile) <> "" Then
     Open strFile For Input As #1
     Input #1, intNo: Close
  End If
 
  intNo = intNo + 1
  '     Open strFile For Output As #1
  '     Print #1, intNo: Close
 
  Worksheets("Rechnung").Range("F4").Value = Format(Date, "YYYYMM") & Format(intNo, "0000")
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Open strFile For Output As #1
  Print #1, intNo: Close
 
End Sub
Antworten Top
#27
Danke für alle Beiträge, werde mich bemühen das alles zu realisieren - LG Ubi5!
Melde mich wieder - nochmals recht herzlichen Dank!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste