Hallo,
ich habe eine Datenbankliste, die Angebots- und Rechnungsdaten enthält.
Mit dem folgenden Code schreibe ich die Daten aus der Eingabe-Userform in das Rechnungsformular und in die Datenbankliste. Nun will ich aber die Inhalte in der Datenbank überschreiben, wenn es eine Zeile gibt, die dieselbe Rechnungsnummer enthält. Das Format von Angebots - und Rechnungsnummer ist folgendermaßen:
Angebot: A035/2016
Rechnung: R035/2016
Wenn es also ein Angebot gibt, das dieselbe Nummer (in Worten: if rechts(frm_Eingabe.Rechnungsnummer;8) = rechts(Datenbankliste.Angebotsnummer;8)) wie die abzulegende Rechnung hat, dann soll die entsprechende Angebots-Zeile in der Datenbankliste überschrieben werden, ansonsten in der ersten neuen Zeile als Rechnung/Angebot abgelegt werden.
Geht das so? Wie finde ich die Zeilenzahl der Nummer aus Textbox100 in Spalte I der Datenbankliste?
ich habe eine Datenbankliste, die Angebots- und Rechnungsdaten enthält.
Mit dem folgenden Code schreibe ich die Daten aus der Eingabe-Userform in das Rechnungsformular und in die Datenbankliste. Nun will ich aber die Inhalte in der Datenbank überschreiben, wenn es eine Zeile gibt, die dieselbe Rechnungsnummer enthält. Das Format von Angebots - und Rechnungsnummer ist folgendermaßen:
Angebot: A035/2016
Rechnung: R035/2016
Wenn es also ein Angebot gibt, das dieselbe Nummer (in Worten: if rechts(frm_Eingabe.Rechnungsnummer;8) = rechts(Datenbankliste.Angebotsnummer;8)) wie die abzulegende Rechnung hat, dann soll die entsprechende Angebots-Zeile in der Datenbankliste überschrieben werden, ansonsten in der ersten neuen Zeile als Rechnung/Angebot abgelegt werden.
Geht das so? Wie finde ich die Zeilenzahl der Nummer aus Textbox100 in Spalte I der Datenbankliste?
Private Sub CommandButton3_Click() 'Formular Rechnung füllen und Rechnungsdaten in Datenbank ablegen Dim LoZielZeile As Long Call BerechneSumme With Sheets("Rechnung") .Cells(17, 8) = TextBox1 'KFZ-Kennzeichen .Cells(3, 2) = TextBox2 'Anrede .Cells(4, 2) = TextBox3 & " " & TextBox4 'Vorname & Name .Cells(5, 2) = TextBox5 & " " & TextBox6 'Strasse & Nr. .Cells(6, 2) = TextBox7 & " " & TextBox8 'Plz/Ort .Cells(13, 1) = ComboBox2 'Angebot / Rechnung .Cells(13, 5) = TextBox100 'Re.Nr. .Cells(17, 3) = TextBox9 'Modell/Typ .Cells(19, 3) = TextBox10 'Erstzulassung .Cells(19, 7) = TextBox11 'FIN For j = 23 To 33 'Arbeitsgang 1 - 11 .Cells(j, 1) = Me.Controls("Textbox" & j - 8) Next j For j = 23 To 33 'Arbeits-Wert zu Arbeitsgang 1 - 11 .Cells(j, 6) = Me.Controls("Textbox" & j + 78) Next j For j = 23 To 33 'Einzelpreis zu Arbeitsgang 1 - 11 .Cells(j, 7) = Me.Controls("Textbox" & j + 178) Next j For j = 23 To 33 'Euro-Betrag zu Arbeitsgang 1 - 11 .Cells(j, 8) = Me.Controls("Textbox" & j + 278) Next j .Cells(34, 7) = TextBox200 'Gesamtsumme End With With Sheets("Datenbankliste") If Right(TextBox100, 8) = Right(.Cells(LoZielZeile, 9), 8) Then LoZielZeile '= "?" 'Wie finde ich die Zeilenzahl der Nummer aus Textbox100 in Spalte I der Datenbankliste? Else LoZielZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1 'erste leere Zelle in Spalte A (1) End If For j = 1 To 11 'Kundendaten + Kfz-Daten .Cells(LoZielZeile, j) = Me.Controls("Textbox" & j) Next j .Cells(LoZielZeile, 9) = TextBox100 'Re.Nr. .Cells(LoZielZeile, 10) = Date 'Re.Datum .Cells(LoZielZeile, 11) = ComboBox2 'Angebot / Rechnung For j = 15 To 25 'Arbeitsgang 1 - 11 .Cells(LoZielZeile, j) = Me.Controls("Textbox" & j) Next j For j = 26 To 36 'Arbeits-Wert zu Arbeitsgang 1 - 11 .Cells(LoZielZeile, j) = Me.Controls("Textbox" & j + 75) Next j For j = 37 To 47 'Einzelpreis zu Arbeitsgang 1 - 11 .Cells(LoZielZeile, j) = Me.Controls("Textbox" & j + 164) Next j For j = 48 To 58 'Euro-Betrag zu Arbeitsgang 1 - 11 .Cells(LoZielZeile, j) = Me.Controls("Textbox" & j + 253) Next j .Cells(LoZielZeile, 59) = TextBox200 'Gesamtsumme End With Bol = False Unload Me '.Hide Sheets("Rechnung").Select Cells(21, 1).Select End Sub