Supportnet / Forum / Tabellenkalkulation
Textbox berechnen
Frage
Hallo zusammen,
das ist hier eine tolle Seite und ich hoffe, es kann mir jemand weiterhelfen:
Ich habe in einer Userform mehrere Textboxen angelegt. (Textbox 19 -Textbox 22). Die Werte (Rechungsbeträge in €) dieser Textboxen sollen in einer weiteren TextBox 18 zusammengefasst werden. Dies habe ich auch geschafft. Das Ergebnis der Summation erscheint in der Textbox 18 allerdings erst, wenn ich in die TB 18 springe und eine Taste betätige.
Frage: Ist es möglich Die TB, in der die Summe steht permanent mit dem aktuellen Ergebnis zu zeigen?
Beispiel Eingabe TB 19: "50" Anzeige automatisch in TB 18 "50"
Ich hoffe, es kann mir da jemand weiterhelfen
Bisher sieht das Ganze so aus:
Private Sub TextBox18_Change()
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Schon jetzt herzlichen Dank !
Toni
Antwort 1 von Event
Hallo
Warum schreibst Du nicht einfach bei den Textbox_Cange
Ereignissen von 19,20,21,22 und 23 nicht einfach noch einen Aufruf von TextBox18_Change rein? Alternativ ginge auch ein
TextBox18.SetFocus
Gruß
Warum schreibst Du nicht einfach bei den Textbox_Cange
Ereignissen von 19,20,21,22 und 23 nicht einfach noch einen Aufruf von TextBox18_Change rein? Alternativ ginge auch ein
TextBox18.SetFocus
Gruß
Antwort 2 von coros
Nabend Toni,
Du musst den Befehl zum Addieren der textBoxen hinter jedes Change-Ereignis jeder einzelnen TextBox, die in der Addition vorkommen, eintragen, so dass bei jedem Eintrag in jeder der 6 TextBoxen die Boxen addiert werden und das Ergebnis in TextBox18 ausgegeben werden. Hört sich jetzt kompliziert an, ist aber ganz einfach. Kopiere einfach nachfolgende Befehle in das VBA Projekt der UserForm, in der sich die 6 TextBoxen befinden.
@Event: Kannst Du mir mal bitte erklären, wie Du das TextBox18_Change-Ereignis in einer anderen TextBox nach Deiner Variante auslösen möchtest. Denn den Befehl (TextBox18_Change )den Du hier schreibst, gibt es nicht aus einer anderen TextBox heraus. Außerdem führt TextBox18.SetFocus nicht zu einer Neuberechnung in TextBox18, sondern lediglich dass der Cursor sich dann in TextBox18 befindet. Dann muss immer noch die Entertaste betätigt werden, dass TextBox18 neu berechnet wird. Nichts für ungut, aber ich glaube Du liegst etwas daneben mit Deiner Antwort.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Du musst den Befehl zum Addieren der textBoxen hinter jedes Change-Ereignis jeder einzelnen TextBox, die in der Addition vorkommen, eintragen, so dass bei jedem Eintrag in jeder der 6 TextBoxen die Boxen addiert werden und das Ergebnis in TextBox18 ausgegeben werden. Hört sich jetzt kompliziert an, ist aber ganz einfach. Kopiere einfach nachfolgende Befehle in das VBA Projekt der UserForm, in der sich die 6 TextBoxen befinden.
Private Sub TextBox18_Change()
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Private Sub TextBox19_Change()
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Private Sub TextBox20_Change()
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Private Sub TextBox21_Change()
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Private Sub TextBox22_Change()
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Private Sub TextBox23_Change()
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Wie Du siehst, wird der Code zum Addieren der Textboxinhalte einfach hinter jedes Change-Ereignis der TextBoxen eingetragen. Ich hoffe, Du verstehst jetzt, was ich meine. Außerdem hoffe ich, dass Du klar kommst. Bei Fragen melde Dich.@Event: Kannst Du mir mal bitte erklären, wie Du das TextBox18_Change-Ereignis in einer anderen TextBox nach Deiner Variante auslösen möchtest. Denn den Befehl (TextBox18_Change )den Du hier schreibst, gibt es nicht aus einer anderen TextBox heraus. Außerdem führt TextBox18.SetFocus nicht zu einer Neuberechnung in TextBox18, sondern lediglich dass der Cursor sich dann in TextBox18 befindet. Dann muss immer noch die Entertaste betätigt werden, dass TextBox18 neu berechnet wird. Nichts für ungut, aber ich glaube Du liegst etwas daneben mit Deiner Antwort.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Antwort 3 von Event
Hallo Coros
@Oliver
Du hast teilweise recht .setFocus war falsch - ich hatte das in Erinnerung mal benutzt um die Anzeige eines mehrzeiligen Textfeldes zu aktualisieren - ist hier ja nicht zutreffend; aber das:
Gruß
@Oliver
Du hast teilweise recht .setFocus war falsch - ich hatte das in Erinnerung mal benutzt um die Anzeige eines mehrzeiligen Textfeldes zu aktualisieren - ist hier ja nicht zutreffend; aber das:
Option Explicit
Private Sub TextBox19_Change()
TextBox18_Change
End Sub
Private Sub TextBox20_Change()
TextBox18_Change
End Sub
Private Sub TextBox18_Change()
´
TextBox18.Text = Val(TextBox19.Text) + Val(TextBox20.Text) + Val(TextBox21.Text) + Val(TextBox22.Text) + Val(TextBox23.Text)
End Sub
Private Sub TextBox21_Change()
TextBox18_Change
End Sub
Private Sub TextBox22_Change()
TextBox18_Change
End Sub
Private Sub TextBox23_Change()
TextBox18_Change
End Sub
funktioniert so..;-)Gruß
Antwort 4 von Redflash
Hallo.
Ich hoffe mir kann jemand helfen.
Ich möchte eine Quittung für eine Pizzeria mit Exel herstellen.
Nun sollte ich eine Formel haben welche mir eine Zahl in Text umwandelt und wenn möglich noch den Preis in die nächste spalte einfügt.
z.B Zahl 1 = Prosciutto / 14 Fr
Gibt es so eine Formel?
Danke für die Antwort
MFG Red
Ich hoffe mir kann jemand helfen.
Ich möchte eine Quittung für eine Pizzeria mit Exel herstellen.
Nun sollte ich eine Formel haben welche mir eine Zahl in Text umwandelt und wenn möglich noch den Preis in die nächste spalte einfügt.
z.B Zahl 1 = Prosciutto / 14 Fr
Gibt es so eine Formel?
Danke für die Antwort
MFG Red
Antwort 5 von coros
Morgen Redflash,
das kann man mit SVERWEIS machen. Schau Dir dazu mal die Excelhilfe an. Alternativ kannst Du auch hier über die Forumssuche eine menge Hilfe erhalten, da dieses Thema hier fast täglich behandelt wird. Gib dort einfach mal SVERWEIS ein. Oder Du schaust auf meiner HP in der Rubrik Beispieldateien und dort dann in dem Beispiel 22 nach. Dort stelle ich dazu ein Beispiel zur Verfügung, das Dir eventuell helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
das kann man mit SVERWEIS machen. Schau Dir dazu mal die Excelhilfe an. Alternativ kannst Du auch hier über die Forumssuche eine menge Hilfe erhalten, da dieses Thema hier fast täglich behandelt wird. Gib dort einfach mal SVERWEIS ein. Oder Du schaust auf meiner HP in der Rubrik Beispieldateien und dort dann in dem Beispiel 22 nach. Dort stelle ich dazu ein Beispiel zur Verfügung, das Dir eventuell helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 6 von Redflash
Danke für deine Hilfe Corcos.
Gruss Red
Gruss Red
Antwort 7 von tonerl
Hallo zusemmen,
ich möchte mich bei allen, die mir so schnell geholfen haben ganz herzlich bedanken. Ich bin Neuling auf dem Gebiet VBA Programmierung und es tut gut, wenn jemand bereit ist zu helfen.
Das Problem mit der Textbox ist jetzt dank Euch gelöst
Eine schöne Zeit
Toni
ich möchte mich bei allen, die mir so schnell geholfen haben ganz herzlich bedanken. Ich bin Neuling auf dem Gebiet VBA Programmierung und es tut gut, wenn jemand bereit ist zu helfen.
Das Problem mit der Textbox ist jetzt dank Euch gelöst
Eine schöne Zeit
Toni

