An Hugo
23.09.2005 11:25:59
Marco
gestern hast du mir folgenden Code geschickt, um die Zahlenwerte aller Textboxen in meinem Userform bzw. Frame zu summieren.
Die Ausgabe hast du in einem Label vorgesehen.
Option Explicit
Sub summe()
Dim myCtrl As Control, mySum As Double
For Each myCtrl In UserForm1.Controls
If TypeOf myCtrl Is MSForms.TextBox Then
If IsNumeric(myCtrl) Then
mySum = mySum + myCtrl
End If
End If
Next myCtrl
UserForm1.Label1.Caption = mySum
End Sub
Im Codemodul des Userforms:
Private Sub TextBox1_Change()
Call summe
End Sub
Private Sub TextBox2_Change()
Call summe
End Sub
'usw. für jede Textbox
Wenn ich jetzt aber anstatt eines Labels die Ausgabe in einer Textbox ausgebe mittels Textbox.value anstatt label.caption, dann addiert er falsch und zwar:
wenn in der Textbox1 eine Zahl eingegeben wird und alle anderen Textboxen sind leer und ich erhöhe die Zahl in der Textbox1 mittels eines Spinbuttons, dann erhöht sich die Summe um die Zahl, die jetzt in der Textbox steht.
Wenn z.B. in der Textbox1 der Wert 1 steht und ich erhöhe um den Wert 1 mit dem Spinbutton, dann steht danach der Wert 2 in der Textbox1 aber der Wert 3 im Summen-Textfeld, da er den vorigen Wert 1 um den jetztigen Wert 2 erhöht.
Ich will nämlich den Summenwert weiterverarbeiten. Oder kann ích auch den Label1.caption-Wert als Zahl weiterverarbeiten?