PDA

Vollständige Version anzeigen : Welches Ereignis für Ausgabe in TextBox


Leuchte
30.06.2015, 00:06
Hallo Leute,
Ich bitte um Hilfe.
Ich habe auf einer UserForm 11 TextBoxen. In 10 TB werden Zahlen eingegeben, Die Summe dieser Zahlen wird in TB 11 ausgegeben.
Eingestellt für die TB11 ist das Ereignis "MouseDown"
Alles funktioniert.(nach MausBerührung der TB)
Frage: Welche Möglichkeit gibt es, nach Änderung in einer (oder mehreren
TextBoxen, ohne manuelle Auslösung eines Ereignisses, die Ergebnis
TextBoxzu aktualisieren.
Schon jetzt bedankt sich, für Eure Lösungen
ganz herzlich
LEUCHTE
Ich arbeite mit Office 2013

Beverly
30.06.2015, 05:32
Hi,

hast du es schon mal mit dem Change-Ereignis der TextBoxen 1-10 versucht?

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Leuchte
30.06.2015, 09:42
Hi Karin,
Danke für Deine Antwort.
Leider trifft sie nicht mein Problem.
Die TB 1.10 dieen nur der Eingabe. Die Summe wird in TB11 ausgegeben.
Also muß sich auch nur hier was verändern.
Summe aus TB 1 bis 10 sollte hier ohne Aktion des Users erfolgen wenn in einer TB (1-10) eine Änderung erfolgt.
Kann eventuell mit "Calculate" gehen, ich weiß nur nicht WIE das geht.
Es grüßt
LEUCHTE

Beverly
30.06.2015, 10:55
Hi,

und weshalb sollte das nicht gehen wenn du das Change-Ereignis der TextBoxen 1-10 verwendest? Die Änderungen führst du doch in DIESEN TextBoxen aus und genau diese Änderungen haben Einfluss auf das Ergebnis.

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Leuchte
30.06.2015, 11:51
Hallo Karin.
Ganz herzlichen Dank für Deine Hilfe. Das war's, was ich gesucht habe.
Super!!!
Einen klasse SONNENTAG wünscht Dir
Leuchte

Leuchte
02.07.2015, 23:51
Hallo Karin.
Nachdem Du mir bei der Summierung von Daten eine Perfekte Lösung präsentiert hast, bitte ich dich nochmal um Hilfe.
Ich habe 2 UserFormen in denen gerechnet wird. die Ergebnisse werden von einer 3. Userform zusammengefast und entgültig bearbeitet.
Mein Versuch funktioniert nur unbefriedigend. Die TextBoxen müssen gefüllt sein und vor einem Ergebnis ist immer ein Ereignis per Hand auszuführen.
Zum Verständnis hänge ich eine Beispieldatei an.
Schon jetzt bedanke ich mich für Deine Hilfe. Auf Deine Antwort freut sich
LEUCHTE

Beverly
03.07.2015, 06:57
Hi,

wenn ich das richtig verstehe soll geprüft werden, ob alle TextBoxen einen Wert enthalten, bevor das andere UserForm aufgerufen werden kann?

Private Sub CommandButton1_Click()
Dim ctrElement As Control
Dim bytZaehler As Byte
Dim blnAlle As Boolean
For bytZaehler = 1 To 3
If Me.Controls("TextBox" & bytZaehler) = "" Then
blnAlle = True
Exit For
End If
Next bytZaehler
If blnAlle = False Then
Load UserForm2
UserForm2.Show
Else
MsgBox "Es fehlen Werte"
End If
End Sub


<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Leuchte
03.07.2015, 09:14
Danke Karin
das hilft schon einen schritt weiter. Gibt es eine Möglichkeit, das Ergebnis
(die Ergebnisse direkt, schon bei der Eingabe anzuzeigen? So wie bei dem "Summieren von Ergebnissen" was ich von Dir bekommen habe? Das wäre die Krönung, (die profihafte Nutzung des Change_Ereignis)
WIe immer erwarte ich voller Spannung Deine Antwort.
Vielen Dank sagt
LEUCHTE

Beverly
03.07.2015, 10:01
Hi,

das Prinzip ist dasselbe wie in dem vorhergehenden Beispiel, nur musst du die Anzahl (bzw. laufende Nummerierung) der TextBoxen anpassen und den Namen der TextBox, in der die Ausgabe erfolgen soll:

Sub Summieren()
Dim bytZaehler As Byte
Dim dblSumme As Double
For bytZaehler = 1 To 2
If IsNumeric(Me.Controls("TextBox" & bytZaehler)) Then dblSumme = _
dblSumme + CDbl(Me.Controls("TextBox" & bytZaehler))
Next bytZaehler
TextBox3 = dblSumme
End Sub



<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Leuchte
03.07.2015, 10:57
Hi Karin
Es tut mir leid, das ich mich nicht klar ausdrücken kann.
Neuer Versuch.
Der Code "Summieren" ist perfekt.
Genau so einen, der ohne zusätzliche UserAktionen die Ergebnisse anzeigt, den brauche ich für die anderen Grundrechnungsarten. "-" "/" "*"
Mein Versuch, deinen Code "Summieren" umzustricken ist leider kläglich gescheitert.
Bei 2 oder mehreren Additionen findet der bei mir immer seine Anwendung.
Wäre toll, wenns auch für "minus" oder "geteilt durch" oder" "mal" so eine präzise Möglichkeit gebe.
Die Weiterverarbeitung bekomme ich (warscheinlich) hin.
Wie immer DANKE sendet
LEUCHTE

Beverly
03.07.2015, 12:46
Hi,

für das UserForm Multiplikation:

Sub Multiplikation()
If TextBox1 <> "" And TextBox2 <> "" Then
If IsNumeric(TextBox1) And IsNumeric(TextBox2) Then
TextBox3 = CDbl(TextBox1) * CDbl(TextBox2)
UserForm3.TextBox1 = TextBox3
End If
End If
End Sub


Aufgerufen werden muss dieses Makro aus den beiden TextBoxen 1 und 2.
Division und Subtraktion nach demselben Prinzip.

<hr width="20%" align="left"><img src="http://excel-inn.de/images/grusz.gif" height=35" align="left" alt="Grußformel"><a href="http://excel-inn.de/"><img border="0" src="http://excel-inn.de/images/logo1.gif" height=35" align="middle" alt="Beverly's Excel - Inn"></a>

Leuchte
03.07.2015, 13:00
Hi
Danke, ich werde heute Abend "einbauen" und dann Feedback geben.
Gruß LRUCHTE

Leuchte
03.07.2015, 17:03
Hallo Karin
Deine Lösung ist genial, da nachvollziehbar und ohne Schnörkel. Damit komme ich an vielen Stellen meiner Anwendung problemlos weiter.
Herzlichen Dank (bis zum nächsten mal schreibt
LEUCHTE
http://www.ms-office-forum.net/forum/smile.gif