AW: Daten per VBA in andere Datei schreiben
16.08.2022 20:12:57
Thomas
Mir ist es bereits gelungen, die Rechnungsnummern fortlaufend in ein Tabellenblatt der gleichen Datei zu schreiben.
Leider springt er erstens immer dann in das Tabellenblatt, was nicht sein soll.
Wie bekomme ich das denn gelöst, dass er in der Zelle bleibt, die ich ursprünglich ausgewählt habe?
Und die große Frage bleibt, wie bekomme ich das nun in eine Datei, die Rechnungsnummern heißt und im gleichen Verzeichnis liegt geschrieben, z.B. mittels im Hintergrund öffnen, reinschreiben, speichern und wieder schließen? Oder gerne einfach nur reinschreiben ;)
Hier mein aktueller Code:
Sub Rechnungsnummer()
Dim Antwort As VbMsgBoxResult
Antwort = MsgBox("Soll eine neue Rechnungsnummer erzeugt werden?", vbYesNo, "Makro starten")
If Antwort = vbYes Then
Dim strFile As String
Dim intNo As Integer
strFile = ThisWorkbook.Path & "\factura.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(1).Range("N8") = intNo
Cells(6, 14) = Now
End If
Dim Rechnungsnummer As String, Kundennummer As String, Kunde As String, Datum As String, Rechnungsbetrag As String
Worksheets("Rechnung").Select
Rechnungsnummer = Range("N8")
Kundennummer = Range("N9")
Kunde = Range("A8")
Datum = Range("M5")
Rechnungsbetrag = Range("M43")
Worksheets("Rechnungsnummern").Select
Worksheets("Rechnungsnummern").Range("B4").Select
If Worksheets("Rechnungsnummern").Range("B4").Offset(1, 0) "" Then
Worksheets("Rechnungsnummern").Range("B4").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Rechnungsnummer
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Kundennummer
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Kunde
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Datum
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Rechnungsbetrag
End Sub
Danke für etwaige Hilfe!
Thomas