Hallo liebl VBA-Gemeinde
Ich habe vor Jahren ein Rechnungsforlmular programiert. Nun werden mehr Zeilen gebraucht. Diese habe ich eingefügt und seither bugt das Ding bei Eingabefeld 11 und rechnet auch nicht mehr richtig. Da meine VBA Zeit schon eine gefühlte Ewigkeit her ist und ich den FEhler nicht alleine finde, hoffe ich ihr könnt mir helfen.
PS: Es war eines meinger ersten Projekte gleich nach der Schule und ich habe niemehr irgendetwas in der Art programmiert, also seid bitte nachsichitg;-)
Vielen Dank schon mal an alle die darüberlesen;-)
Dim Endbetrag As Double
Dim Betrag01 As Double
Dim Betrag02 As Double
Dim Betrag03 As Double
Dim Betrag04 As Double
Dim Betrag05 As Double
Dim Betrag06 As Double
Dim Betrag07 As Double
Dim Betrag08 As Double
Dim Betrag09 As Double
Dim Betrag10 As Double
Dim Betrag11 As Double
Dim Betrag12 As Double
Dim Betrag13 As Double
Dim Betrag14 As Double
Dim Betrag15 As Double
Dim Betrag16 As Double
Dim Betrag17 As Double
Dim Betrag18 As Double
Dim MwStBetrag As Double
Dim Total As Double
Dim a As Integer
Private Sub cmdAbbrechen_Click()
' Beim Abbrechen Formular und Dokument schließen
Unload frmRechnung
ActiveDocument.Close
End Sub
Private Sub cmdLöschen_Click()
' Beim Löschen alle Felder löschen und Optionsbuttons zurücksetzten
txtDatum = ""
txtAnrede.Text = ""
txtName.Text = ""
txtVorname.Text = ""
txtStrasse.Text = ""
txtPLZ.Text = ""
txtOrt.Text = ""
txtReNr.Text = ""
txtKommentar.Text = ""
txtMenge01.Text = ""
txtMenge02.Text = ""
txtMenge03.Text = ""
txtMenge04.Text = ""
txtMenge05.Text = ""
txtMenge06.Text = ""
txtMenge07.Text = ""
txtMenge08.Text = ""
txtMenge09.Text = ""
txtMenge10.Text = ""
txtMenge11.Text = ""
txtMenge12.Text = ""
txtMenge13.Text = ""
txtMenge14.Text = ""
txtMenge15.Text = ""
txtMenge16.Text = ""
txtMenge17.Text = ""
txtMenge18.Text = ""
txtText01.Text = ""
txtText02.Text = ""
txtText03.Text = ""
txtText04.Text = ""
txtText05.Text = ""
txtText06.Text = ""
txtText07.Text = ""
txtText08.Text = ""
txtText09.Text = ""
txtText10.Text = ""
txtText11.Text = ""
txtText12.Text = ""
txtText13.Text = ""
txtText14.Text = ""
txtText15.Text = ""
txtText16.Text = ""
txtText17.Text = ""
txtText18.Text = ""
txtEinzel01.Text = ""
txtEinzel01.Text = ""
txtEinzel02.Text = ""
txtEinzel03.Text = ""
txtEinzel04.Text = ""
txtEinzel05.Text = ""
txtEinzel06.Text = ""
txtEinzel07.Text = ""
txtEinzel08.Text = ""
txtEinzel09.Text = ""
txtEinzel10.Text = ""
txtEinzel11.Text = ""
txtEinzel12.Text = ""
txtEinzel13.Text = ""
txtEinzel14.Text = ""
txtEinzel15.Text = ""
txtEinzel16.Text = ""
txtEinzel17.Text = ""
txtEinzel18.Text = ""
txtBetrag01.Value = ""
txtBetrag02.Value = ""
txtBetrag03.Value = ""
txtBetrag04.Value = ""
txtBetrag05.Value = ""
txtBetrag06.Value = ""
txtBetrag07.Value = ""
txtBetrag08.Value = ""
txtBetrag09.Value = ""
txtBetrag10.Value = ""
txtBetrag11.Value = ""
txtBetrag12.Value = ""
txtBetrag13.Value = ""
txtBetrag14.Value = ""
txtBetrag15.Value = ""
txtBetrag16.Value = ""
txtBetrag17.Value = ""
txtBetrag18.Value = ""
txtBezeichnung01.Value = ""
txtBezeichnung02.Value = ""
txtBezeichnung03.Value = ""
txtBezeichnung04.Value = ""
txtBezeichnung05.Value = ""
txtBezeichnung06.Value = ""
txtBezeichnung07.Value = ""
txtBezeichnung08.Value = ""
txtBezeichnung09.Value = ""
txtBezeichnung10.Value = ""
txtBezeichnung11.Value = ""
txtBezeichnung12.Value = ""
txtBezeichnung13.Value = ""
txtBezeichnung14.Value = ""
txtBezeichnung15.Value = ""
txtBezeichnung16.Value = ""
txtBezeichnung17.Value = ""
txtBezeichnung18.Value = ""
txtMwSt.Text = ""
txtAT.Text = ""
End Sub
Private Sub cmdok_Click()
'Formulartext ins Dokument übergeben
With ActiveDocument
.FormFields("tmDatum").Result = frmRechnung.txtDatum.Text
.FormFields("tmReNr").Result = frmRechnung.txtReNr.Text
.FormFields("tmAnrede").Result = frmRechnung.txtAnrede.Text
.FormFields("tmName").Result = frmRechnung.txtName.Text
.FormFields("tmVorname").Result = frmRechnung.txtVorname.Text
.FormFields("tmStrasse").Result = frmRechnung.txtStrasse.Text
.FormFields("tmHausnr").Result = frmRechnung.txtHausnr.Text
.FormFields("tmPLZ").Result = frmRechnung.txtPLZ.Text
.FormFields("tmOrt").Result = frmRechnung.txtOrt.Text
.FormFields("tmAT").Result = frmRechnung.txtAT.Text
' .FormFields("tmMwSt").Result = frmRechnung.txtMwSt.Text
.FormFields("tmMenge01").Result = frmRechnung.txtMenge01.Text
.FormFields("tmText01").Result = frmRechnung.txtText01.Text
.FormFields("tmEinzel01").Result = frmRechnung.txtEinzel01.Text
.FormFields("tmBezeichnung01").Result = frmRechnung.txtBezeichnung01.Value
.FormFields("tmMenge02").Result = frmRechnung.txtMenge02.Text
.FormFields("tmText02").Result = frmRechnung.txtText02.Text
.FormFields("tmEinzel02").Result = frmRechnung.txtEinzel02.Text
.FormFields("tmBezeichnung02").Result = frmRechnung.txtBezeichnung02.Value
.FormFields("tmMenge03").Result = frmRechnung.txtMenge03.Text
.FormFields("tmText03").Result = frmRechnung.txtText03.Text
.FormFields("tmEinzel03").Result = frmRechnung.txtEinzel03.Text
.FormFields("tmBezeichnung03").Result = frmRechnung.txtBezeichnung03.Value
.FormFields("tmMenge04").Result = frmRechnung.txtMenge04.Text
.FormFields("tmText04").Result = frmRechnung.txtText04.Text
.FormFields("tmEinzel04").Result = frmRechnung.txtEinzel04.Text
.FormFields("tmBezeichnung04").Result = frmRechnung.txtBezeichnung04.Value
.FormFields("tmMenge05").Result = frmRechnung.txtMenge05.Text
.FormFields("tmText05").Result = frmRechnung.txtText05.Text
.FormFields("tmEinzel05").Result = frmRechnung.txtEinzel05.Text
.FormFields("tmBezeichnung05").Result = frmRechnung.txtBezeichnung05.Value
.FormFields("tmMenge06").Result = frmRechnung.txtMenge06.Text
.FormFields("tmText06").Result = frmRechnung.txtText06.Text
.FormFields("tmEinzel06").Result = frmRechnung.txtEinzel06.Text
.FormFields("tmBezeichnung06").Result = frmRechnung.txtBezeichnung06.Value
.FormFields("tmMenge07").Result = frmRechnung.txtMenge07.Text
.FormFields("tmText07").Result = frmRechnung.txtText07.Text
.FormFields("tmEinzel07").Result = frmRechnung.txtEinzel07.Text
.FormFields("tmBezeichnung07").Result = frmRechnung.txtBezeichnung07.Value
.FormFields("tmMenge08").Result = frmRechnung.txtMenge08.Text
.FormFields("tmText08").Result = frmRechnung.txtText08.Text
.FormFields("tmEinzel08").Result = frmRechnung.txtEinzel08.Text
.FormFields("tmBezeichnung08").Result = frmRechnung.txtBezeichnung08.Value
.FormFields("tmMenge09").Result = frmRechnung.txtMenge09.Text
.FormFields("tmText09").Result = frmRechnung.txtText09.Text
.FormFields("tmEinzel09").Result = frmRechnung.txtEinzel09.Text
.FormFields("tmBezeichnung09").Result = frmRechnung.txtBezeichnung09.Value
.FormFields("tmMenge10").Result = frmRechnung.txtMenge10.Text
.FormFields("tmText10").Result = frmRechnung.txtText10.Text
.FormFields("tmEinzel10").Result = frmRechnung.txtEinzel10.Text
.FormFields("tmBezeichnung10").Result = frmRechnung.txtBezeichnung10.Value
.FormFields("tmMenge11").Result = frmRechnung.txtMenge11.Text
.FormFields("tmText11").Result = frmRechnung.txtText11.Text
.FormFields("tmEinzel11").Result = frmRechnung.txtEinzel11.Text
.FormFields("tmMenge12").Result = frmRechnung.txtMenge12.Text
.FormFields("tmText12").Result = frmRechnung.txtText12.Text
.FormFields("tmEinzel12").Result = frmRechnung.txtEinzel12.Text
.FormFields("tmMenge13").Result = frmRechnung.txtMenge13.Text
.FormFields("tmText13").Result = frmRechnung.txtText13.Text
.FormFields("tmEinzel13").Result = frmRechnung.txtEinzel13.Text
.FormFields("tmMenge14").Result = frmRechnung.txtMenge14.Text
.FormFields("tmText14").Result = frmRechnung.txtText14.Text
.FormFields("tmEinzel14").Result = frmRechnung.txtEinzel14.Text
.FormFields("tmMenge15").Result = frmRechnung.txtMenge15.Text
.FormFields("tmText15").Result = frmRechnung.txtText15.Text
.FormFields("tmEinzel15").Result = frmRechnung.txtEinzel15.Text
.FormFields("tmMenge16").Result = frmRechnung.txtMenge16.Text
.FormFields("tmText16").Result = frmRechnung.txtText16.Text
.FormFields("tmEinzel16").Result = frmRechnung.txtEinzel16.Text
.FormFields("tmMenge17").Result = frmRechnung.txtMenge17.Text
.FormFields("tmText17").Result = frmRechnung.txtText17.Text
.FormFields("tmEinzel17").Result = frmRechnung.txtEinzel17.Text
.FormFields("tmMenge18").Result = frmRechnung.txtMenge18.Text
.FormFields("tmText18").Result = frmRechnung.txtText18.Text
.FormFields("tmEinzel18").Result = frmRechnung.txtEinzel18.Text
If txtMenge01.Value = "" Then
Betrag01 = "0"
Else
Betrag01 = CDbl(txtMenge01.Value) * CDbl(txtEinzel01.Value)
.FormFields("tmBetrag01").Result = Format(Betrag01, "#,##0.00 €")
.FormFields("tmBetrag01").Result = Format(Betrag01, "#,##0.00 €")
End If
' Endbetrag = CDbl(txtBetrag01.Value) + CDbl(txtBetrag02.Value) + CDbl(txtBetrag03.Value) + CDbl(txtBetrag04.Value) + CDbl(txtBetrag05.Value) + CDbl(txtBetrag06.Value) + CDbl(txtBetrag07.Value) + CDbl(txtBetrag08.Value) + CDbl(txtBetrag09.Value) + CDbl(txtBetrag10.Value) + CDbl(txtBetrag11.Value) + CDbl(txtBetrag12.Value) + CDbl(txtBetrag13.Value) + CDbl(txtBetrag14.Value) + CDbl(txtBetrag15.Value) + CDbl(txtBetrag16.Value) + CDbl(txtBetrag17.Value) + CDbl(txtBetrag18.Value)
' .FormFields("tmEndbetrag").Result = Format(Endbetrag, "#,##0.00 €")
If txtMenge02.Value = "" Then
Betrag02 = "0"
Else
Betrag02 = CDbl(txtMenge02.Value) * CDbl(txtEinzel02.Value)
.FormFields("tmBetrag02").Result = Format(Betrag02, "#,##0.00 €")
.FormFields("tmBetrag02").Result = Format(Betrag02, "#,##0.00 €")
End If
If txtMenge03.Value = "" Then
Betrag03 = "0"
Else
Betrag03 = CDbl(txtMenge03.Value) * CDbl(txtEinzel03.Value)
.FormFields("tmBetrag03").Result = Format(Betrag03, "#,##0.00 €")
.FormFields("tmBetrag03").Result = Format(Betrag03, "#,##0.00 €")
End If
If txtMenge04.Value = "" Then
Betrag04 = "0"
Else
Betrag04 = CDbl(txtMenge04.Value) * CDbl(txtEinzel04.Value)
.FormFields("tmBetrag04").Result = Format(Betrag04, "#,##0.00 €")
.FormFields("tmBetrag04").Result = Format(Betrag04, "#,##0.00 €")
End If
If txtMenge05.Value = "" Then
Betrag05 = "0"
Else
Betrag05 = CDbl(txtMenge05.Value) * CDbl(txtEinzel05.Value)
.FormFields("tmBetrag05").Result = Format(Betrag05, "#,##0.00 €")
.FormFields("tmBetrag05").Result = Format(Betrag05, "#,##0.00 €")
End If
If txtMenge06.Value = "" Then
Betrag06 = "0"
Else
Betrag06 = CDbl(txtMenge06.Value) * CDbl(txtEinzel06.Value)
.FormFields("tmBetrag06").Result = Format(Betrag06, "#,##0.00 €")
.FormFields("tmBetrag06").Result = Format(Betrag06, "#,##0.00 €")
End If
If txtMenge07.Value = "" Then
Betrag07 = "0"
Else
Betrag07 = CDbl(txtMenge07.Value) * CDbl(txtEinzel07.Value)
.FormFields("tmBetrag07").Result = Format(Betrag07, "#,##0.00 €")
.FormFields("tmBetrag07").Result = Format(Betrag07, "#,##0.00 €")
End If
If txtMenge08.Value = "" Then
Betrag08 = "0"
Else
Betrag08 = CDbl(txtMenge08.Value) * CDbl(txtEinzel08.Value)
.FormFields("tmBetrag08").Result = Format(Betrag08, "#,##0.00 €")
.FormFields("tmBetrag08").Result = Format(Betrag08, "#,##0.00 €")
End If
If txtMenge09.Value = "" Then
Betrag09 = "0"
Else
Betrag09 = CDbl(txtMenge09.Value) * CDbl(txtEinzel09.Value)
.FormFields("tmBetrag09").Result = Format(Betrag09, "#,##0.00 €")
.FormFields("tmBetrag09").Result = Format(Betrag09, "#,##0.00 €")
End If
If txtMenge10.Value = "" Then
Betrag10 = "0"
Else
Betrag10 = CDbl(txtMenge10.Value) * CDbl(txtEinzel10.Value)
.FormFields("tmBetrag10").Result = Format(Betrag10, "#,##0.00 €")
.FormFields("tmBetrag10").Result = Format(Betrag10, "#,##0.00 €")
End If
If txtMenge11.Value = "" Then
Betrag11 = "0"
Else
Betrag11 = CDbl(txtMenge10.Value) * CDbl(txtEinzel11.Value)
.FormFields("tmBetrag11").Result = Format(Betrag11, "#,##0.00 €")
.FormFields("tmBetrag11").Result = Format(Betrag11, "#,##0.00 €")
End If
If txtMenge12.Value = "" Then
Betrag12 = "0"
Else
Betrag12 = CDbl(txtMenge12.Value) * CDbl(txtEinzel12.Value)
.FormFields("tmBetrag12").Result = Format(Betrag12, "#,##0.00 €")
.FormFields("tmBetrag12").Result = Format(Betrag12, "#,##0.00 €")
End If
If txtMenge13.Value = "" Then
Betrag13 = "0"
Else
Betrag13 = CDbl(txtMenge13.Value) * CDbl(txtEinzel13.Value)
.FormFields("tmBetrag13").Result = Format(Betrag13, "#,##0.00 €")
.FormFields("tmBetrag13").Result = Format(Betrag13, "#,##0.00 €")
End If
If txtMenge14.Value = "" Then
Betrag14 = "0"
Else
Betrag10 = CDbl(txtMenge14.Value) * CDbl(txtEinzel14.Value)
.FormFields("tmBetrag14").Result = Format(Betrag14, "#,##0.00 €")
.FormFields("tmBetrag14").Result = Format(Betrag14, "#,##0.00 €")
End If
If txtMenge15.Value = "" Then
Betrag10 = "0"
Else
Betrag10 = CDbl(txtMenge15.Value) * CDbl(txtEinzel15.Value)
.FormFields("tmBetrag15").Result = Format(Betrag15, "#,##0.00 €")
.FormFields("tmBetrag15").Result = Format(Betrag15, "#,##0.00 €")
End If
If txtMenge16.Value = "" Then
Betrag16 = "0"
Else
Betrag16 = CDbl(txtMenge16.Value) * CDbl(txtEinzel16.Value)
.FormFields("tmBetrag16").Result = Format(Betrag16, "#,##0.00 €")
.FormFields("tmBetrag16").Result = Format(Betrag16, "#,##0.00 €")
End If
If txtMenge17.Value = "" Then
Betrag17 = "0"
Else
Betrag17 = CDbl(txtMenge17.Value) * CDbl(txtEinzel17.Value)
.FormFields("tmBetrag17").Result = Format(Betrag17, "#,##0.00 €")
.FormFields("tmBetrag17").Result = Format(Betrag17, "#,##0.00 €")
End If
If txtMenge18.Value = "" Then
Betrag18 = "0"
Else
Betrag18 = CDbl(txtMenge18.Value) * CDbl(txtEinzel18.Value)
.FormFields("tmBetrag10").Result = Format(Betrag18, "#,##0.00 €")
.FormFields("tmBetrag18").Result = Format(Betrag18, "#,##0.00 €")
End If
Endbetrag = Betrag01 + Betrag02 + Betrag03 + Betrag04 + Betrag05 + Betrag06 + Betrag07 + Betrag08 + Betrag09 + Betrag10 + Betrag11 + Betrag12 + Betrag13 + Betrag14 + Betrag15 + Betrag16 + Betrag17 + Betrag18
.FormFields("tmEndbetrag").Result = Format(Endbetrag, "#,##0.00 €")
If OptMwSt.Value = True Then
Total = ((Endbetrag * 19) / 100) + Endbetrag
.FormFields("tmTotal").Result = Format(Total, "#,##0.00 €")
MwStBetrag = Total - Endbetrag
.FormFields("tmMwStBetrag").Result = Format(MwStBetrag, "#,##0.00 €")
End If
'Formular schließen
Unload frmRechnung
End With
End Sub
Private Sub frmKundendaten_Click()
End Sub
Private Sub OptMwST_Click()
With ActiveDocument
.FormFields("tmMwSt").Result = "zzgl. 19% MwSt"
Total = ((Endbetrag * 19) / 100) + Endbetrag
.FormFields("tmTotal").Result = Format(Total, "#,##0.00 €")
End With
End Sub
Private Sub OptAT_Click()
With ActiveDocument
.FormFields("tmMwSt").Result = "AT Nummer "
.FormFields("tmAT").Result = frmRechnung.txtAT.Value
End With
End Sub
Private Sub txtDatum_Change()
End Sub
Private Sub txtText01_Change()
End Sub
|