Berechnung in Userforms

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm TextBox
Bild

Betrifft: Berechnung in Userforms von: Andreas K.
Geschrieben am: 04.02.2005 13:59:52

Hallo an alle,

ich bin VBA-Newbie - kann also schon ein wenig programmierern - aber leider wohl doch nicht genug. Deshalb meine Frage über diesem Weg.

Ich hab' mir ein UserForm mit Textfeldern (Ist_Jan, Ist_Feb,...) erstellt, in dem Zahlenwerte eingegeben werden können. In einem weiteren Textfeld (Ist_Ges) möchte ich nun die Summe aller übrigen textfelder ausgeben. Nun zu meinem Problem. Eine Berechnung des Summenfeldes über die Formel

Me.IST_Ges.Value = Me.IST_Jan.Value + Me.IST_Feb.Value + ...

erhalte ich als Ergebnis eine Aneinanderkettung der Werte. D.h. anstelle von 50+20=70 erhalte ich 50+20=5020.

Wo liegt des rätsels Lösung. Ich hab' auch bereits versucht alle Werte mit '*1' zu multiplizieren - das führt allerdings an anderen Stellen zu Problemen.

Vielen dank im voraus.
Andreas

Bild


Betrifft: AW: Berechnung in Userforms von: PeterW
Geschrieben am: 04.02.2005 14:04:33

Hallo Andreas,

in Textboxen steht - wie der Name vermuten lässt - Text. Wenn du damit rechnen willst musst du die Texte in Zahlen umwandeln, beispielsweise mit CDbl (siehe dazu VBA-Hilfe).

Gruß
Peter


Bild


Betrifft: AW: Berechnung in Userforms von: Andreas
Geschrieben am: 04.02.2005 14:18:19

Hallo Peter,

hab in der Hilfe zum Stichwort 'CDbl' leider nix gefunden. Kannst du das ein wenig präzeiseren.

Vielen dank,
Andreas


Bild


Betrifft: AW: Berechnung in Userforms von: PeterW
Geschrieben am: 04.02.2005 14:26:35

Hallo Andreas,

schreib irgendwo in deinen Code cdbl, markiere das Wort und drücke F1, meine Version 2003 listet mir dann alle Umwandlungsfunktionen. Welche du benutzen solltest hängt von den Daten deiner Textboxen ab.
DeinErgebnis=CDbl(Textbox1)+CDbl(Textbox2)

Gruß
Peter


Bild


Betrifft: AW: Berechnung in Userforms von: Reinhold
Geschrieben am: 04.02.2005 14:25:49

Hallo Andreas,

du mußt die Inhalte der Textboxen in "Zahlen" umwandeln z.B.

Me.TextBox3.Text = CDbl(Me.TextBox1.Text) + CDbl(Me.TextBox2.Text)

Grüße Reinhold


Bild


Betrifft: AW: Berechnung in Userforms von: Andreas
Geschrieben am: 04.02.2005 14:56:00

Hallo Reinhold, hallo Peter,

danke erstmal für den Tipp - aber leider klappt das nur bedingt. Solange Werte zum berechnen verfügbar sind führt das ganze auch zum Ergebnis. Sobald allerdings ein Wertfeld leer ist ("") führt es zum Absturz meiner Datei. :-(

Grüße,
Andreas


Bild


Betrifft: AW: Berechnung in Userforms von: Piet
Geschrieben am: 04.02.2005 15:03:44

VBA gut, bist du sicher?

Piet


Bild


Betrifft: AW: Berechnung in Userforms von: Reinhold
Geschrieben am: 04.02.2005 15:05:47

Hi Andreas,

sorry, mußt abfragen, ob im Textfeld num. Wert steht, z.B.

Dim dbl As Double: dbl = 0

If IsNumeric(Me.TextBox1.Text) Then
dbl = dbl + Me.TextBox1.Text
End If
If IsNumeric(Me.TextBox2.Text) Then
dbl = dbl + Me.TextBox2.Text
End If

Me.TextBox3.Text = dbl

Grüße Reinhold


Bild


Betrifft: AW: Berechnung in Userforms von: Andreas
Geschrieben am: 04.02.2005 15:15:56

Vielen dank, hat gefunzt.

Grüße Andreas


Bild


Betrifft: AW: Berechnung in Userforms von: PeterW
Geschrieben am: 04.02.2005 15:06:41

Hallo Andreas,

um das hier befriedigend beantworten zu können müsste man wisssen, welche Felder gelegentlich leer bleiben. Bei deinem angegebenen Level solltest du in der Lage sein, eine Prüfung auf leer einzubauen. ;-)

Gruß
Peter


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Berechnung in Userforms"