02.02.2018, 09:47
Hallo liebe Excel Freunde,
ich habe eine Userform, wo man viele Zahlen in Textboxen eingibt (Bild Angehängt). Am Ende wird es dann jeweils in Labeln zusammen gerechnet und diese Ergebnise werden später in eine Tabelle übertragen.
Problem, sobald man in einer Textbox die Zahlen komplett löscht, kommt eine Fehlermeldung und man kann den debugger öffnen.
Da, wenn ich irgendwann mal Urlaub bekommen sollte, jemand anderes die Eintragungen vornimmt, ist das natürlich extrem doof.
Ich hoffe ihr versteht was ich meine.
Da es ein riesen Code ist, schreibe ich euch hier mal nur den Code für Innenbäckchen. Bei allen anderen Sieht der Code gleich aus
Bei Start der Userform:
Berechnung:
Klick auf OK Button:
ich habe eine Userform, wo man viele Zahlen in Textboxen eingibt (Bild Angehängt). Am Ende wird es dann jeweils in Labeln zusammen gerechnet und diese Ergebnise werden später in eine Tabelle übertragen.
Problem, sobald man in einer Textbox die Zahlen komplett löscht, kommt eine Fehlermeldung und man kann den debugger öffnen.
Da, wenn ich irgendwann mal Urlaub bekommen sollte, jemand anderes die Eintragungen vornimmt, ist das natürlich extrem doof.
Ich hoffe ihr versteht was ich meine.
Da es ein riesen Code ist, schreibe ich euch hier mal nur den Code für Innenbäckchen. Bei allen anderen Sieht der Code gleich aus
Bei Start der Userform:
Code:
Private Sub UserForm_Initialize()
Innen = "0" 'Label
Innen1 = "0" 'Textboxen
Innen2 = "0"
Innen3 = "0"
Innen4 = "0"
Innen5 = "0"
Innen6 = "0"
Innen7 = "0"
Innen8 = "0"
Innen9 = "0"
TextBox1 = "" 'Datum
TextBox2 = "0" 'Köpfe
End Sub
Berechnung:
Code:
Private Sub Innen1_Change()
Innen = CDbl(Innen1)
End Sub
Private Sub Innen2_Change()
Innen = CDbl(Innen1) + CDbl(Innen2)
End Sub
Private Sub Innen3_Change()
Innen = CDbl(Innen1) + CDbl(Innen2) + CDbl(Innen3)
End Sub
Private Sub Innen4_Change()
Innen = CDbl(Innen1) + CDbl(Innen2) + CDbl(Innen3) + CDbl(Innen4)
End Sub
Private Sub Innen5_Change()
Innen = CDbl(Innen1) + CDbl(Innen2) + CDbl(Innen3) + CDbl(Innen4) + CDbl(Innen5)
End Sub
Private Sub Innen6_Change()
Innen = CDbl(Innen1) + CDbl(Innen2) + CDbl(Innen3) + CDbl(Innen4) + CDbl(Innen5) + CDbl(Innen6)
End Sub
Private Sub Innen7_Change()
Innen = CDbl(Innen1) + CDbl(Innen2) + CDbl(Innen3) + CDbl(Innen4) + CDbl(Innen5) + CDbl(Innen6) + CDbl(Innen7)
End Sub
Private Sub Innen8_Change()
Innen = CDbl(Innen1) + CDbl(Innen2) + CDbl(Innen3) + CDbl(Innen4) + CDbl(Innen5) + CDbl(Innen6) + CDbl(Innen7) + CDbl(Innen8)
End Sub
Private Sub Innen9_Change()
Innen = CDbl(Innen1) + CDbl(Innen2) + CDbl(Innen3) + CDbl(Innen4) + CDbl(Innen5) + CDbl(Innen6) + CDbl(Innen7) + CDbl(Innen8) + CDbl(Innen9)
End Sub
Klick auf OK Button:
Code:
Private Sub CommandButton1_Click()
Dim x As Long
x = Sheets("Produktion").Range("A65536").End(xlUp).Row
Sheets("Produktion").Cells(x + 1, 1) = CDate(TextBox1.Text)
Sheets("Produktion").Cells(x + 1, 2) = CDbl(Format(TextBox2.Text, Number))
Sheets("Produktion").Cells(x + 1, 3) = CDbl(Format(Innen, Number))
TextBox1 = ""
TextBox2 = "0"
Innen = "0"
Innen1 = "0"
Innen2 = "0"
Innen3 = "0"
Innen4 = "0"
Innen5 = "0"
Innen6 = "0"
Innen7 = "0"
Innen8 = "0"
Innen9 = "0"
ActiveWorkbook.Save
End Sub