Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
rechnen in einer userform
lisa
Hallo
Ich benötige noch wieder einmal mehr Eure Hilfe!
Ich habe in meiner Userform 8 Textfelder in denen ich Werte eintrage und eine weitere Textbox9 in der ich gern die Summe der 8 Textfelder abbilden will.
Was ich bis jetzt in der Recherche gefunden habe, ist dieser Ansatz:
TextBox9.Text = CDbl(TextBox1.Value) + CDbl(TextBox2.Value)
Auch habe ich gefunden, dass das mit einer If Schleife wegen der Leerfelder umgesetzt werden muss.
If TextBox1 = "" Then TextBox1 = 0
Wie bringe ich das zusammen?
Kann ich überhaupt über das Textbox9_Change() Ereignis einen automatische Summenbildung in der Userform erreichen?
Kann mir hier jemand helfen?
Gruß Lisa

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: rechnen in einer userform
26.10.2009 14:41:18
Hajo_Zi
Halo Lisa,
in Textbox9 soll es angezeigt werde als benutze das Change von 1 und 2 und schreibe die neue Zeile davor. Die Überprüfung muss für beide Textboxen erfolgen.

AW: rechnen in einer userform
26.10.2009 14:42:42
JogyB
Hi.
Nein, geht nicht über das Change Ereignis von textBox9, das spring nur an, wenn TextBox9 geändert wird, aber nicht bei den anderen Textboxen.
Mal als Lösung:
In das Userform kommt folgender Code:
Dim myCol As New Collection
Private Sub UserForm_Initialize()
Dim i As Long
Dim myCls As cls_TextBoxes
For i = 1 To 9
Set myCls = New cls_TextBoxes
Set myCls.myTxtBox = Me.Controls("TextBox" & i)
myCol.Add myCls
Next
End Sub
Dann erstellst Du ein Klassenmodul mit den Namen cls_TextBoxes
Dort kommt folgender Code rein:
Public WithEvents myTxtBox As MSForms.TextBox
Private Sub myTxtBox_Change()
Dim i As Long
Dim werT As Double
With UserForm1
For i = 1 To 8
With .Controls("TextBox" & i)
If IsNumeric(.Value) And .Value  "" Then
werT = werT + CDbl(.Value)
End If
End With
Next
.TextBox9 = werT
End With
End Sub
Das UserForm muss UserForm1 heissen, wenn es anders heißt mußt Du in obigem Code das UserForm1 in den korrekten Namen ändern.
Übrigens: TextBox9 kann man zwar noch anklicken, bei jeder Eingabe wird aber die Summenberechnung gestartet, d.h. der Wert bleibt immer unverändert.
Gruss, Jogy
Anzeige
AW: rechnen in einer userform
26.10.2009 14:45:41
Peter
Hallo Lisa,
ich habe einen CommandButton in das UserForm(ular) eingefügt.
Wird der angeklickt, wird addiert.
Option Explicit
Private Sub CommandButton1_Click()
Dim iIndx  As Integer
TextBox9.Value = "0"
For iIndx = 1 To 8
If Trim(Controls("TextBox" & iIndx).Value)  "" Then
If IsNumeric(Controls("TextBox" & iIndx).Value) Then
TextBox9.Value = TextBox9.Value + CDbl(Controls("TextBox" & iIndx).Value)
End If
End If
Next iIndx
End Sub

Gruß Peter
AW: Danke! es läuft (irgendwie)
28.10.2009 14:57:25
lisa
Danke euch dreien!
Ich habe viel hin und her getüfftelt und es letztlich auch hinbekommen!
Es war ein unheimlicher Siegesjubel als es funktionierte, aber irgendwie mehr Glück als Verstand.
Danke jedenfalls für eure MÜHE!
Gruß Lisa!
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige