2.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Leute,

ich habe eine Userform in der mehrere Textboxen eingepflegt sind und die wie eine Art Taschenrechner funktionieren soll.

Textbox1 wird mit Textbox2 in den Zellen A1 und A2 addiert und multipliziert. Das Ergebnis soll dann in Texbox3 erscheinen. Das mit dem Erscheinen habe ich ja noch hingekriegt, jedoch aktualisiert sich die Zahl nur nach Aufrufen der Userform.

Gibt es da eine Möglichkeit die Zahl in Texbox3 ständig aktualisieren zu lassen??

Des Weiteren würde ich das Ergebnis aus Texbox3 in der Zelle in der ich mich befinde eintragen lassen. Aber Wie???

Gruß
faty

7 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Faty,

was verstehst Du darunter.? Eingabe in die Zelle? Benutze das Change Ereignis.

Gruß Hajo
0 Punkte
Beantwortet von fetinci Einsteiger_in (25 Punkte)
Hallo Hajo,

kenne mich leider mit Formeln nicht wirklich aus.

Folgendes habe ich in den Textboxen stehen:

Private Sub TextBox1_Change()
Range("A1") = TextBox15
End Sub

Private Sub TextBox2_Change()
Range("B1") = TextBox16
End Sub

Private Sub TextBox3_Change()
Range("C1").Value = TextBox29
End Sub

TEXTBOX3 SOLL BEIM EINGEBEN DER WERTE IN TEXBOX1 UND 2 gleich aktualisiert werden. Das Ergebnis in Texbox3 soll gleich erscheinen und nicht erst beim erneuten aufrufen der Userform.

Gruß
faty
0 Punkte
Beantwortet von coros Experte (4k Punkte)
HAllo faty,

schön wäre es gewesen, wenn Du mal geschrieben hättest, was in der TextBox3 erscheinen soll. Da dies fehlte, hier nur ein Beispiel, welches Du anpassen musst:

Private Sub TextBox1_Change()
Range("A1") = TextBox15
TextBox3.Text = "blablabla"
End Sub

Private Sub TextBox2_Change()
Range("B1") = TextBox16
TextBox3.Text = "blablabla"
End Sub



MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Faty,

Du schreibst Text in die Zellen. Da eine TextBox das enthält was der Name schon sagt Text. Benutze Umwandlungsfunltionen z.B. Cdbl.


Option Explicit

Private Sub TextBox1_Change()
Range("A1") = CDbl(textbox1)
If textbox1 <> "" Then
If IsNumeric(textbox1) Then
Textbox3 = textbox1
End If
End If
If Textbox2 <> "" Then
If isNumerich(Textbox2) Then
If textbox1 <> "" Then
Textbox3 = CDbl(textbox1) + CDbl(Textbox2)
Else
Textbox3 = Textbox2
End If
End If
End If
End Sub


Ich habe das jetzt mal nur Live geschrieben. Ich sehe keinen Grund warum ich das nachbvauen soll, die Zeit hast Du schon investiert.

Gruß Hajo
0 Punkte
Beantwortet von
Danke für eure Antworten.

Ich drücke mich irgendwie schlecht aus, kenne mich aber mit Makros nicht besonders aus.

Ich möchte einfach:
den Wert in Texbox1 mit Texbox2 berechnen (klappt ja auch), die Wert von Texbox1 und 2 werden in der Zelle A1 und A2 eingetragen. In C1 wird der Wert in A1+A2 mal 1,43 berechnet.

In der Userform soll nur in der Texbox3 der Wert aus C1 beim eingeben der Werte in Texbox1 und 2 gleich (sofort) aktualisiert werden.

Gruß
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Faty,
in meinem Code fehlt doch nr noch die Multiplikation, oder sehe ich das Falsch?

Gruß Hajo
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

eine TextBox hat die Eigenschaft ControlSource - wenn du dort C1 angibst wird das Ergebnis aus C1 automatisch übernommen. Allerdings - wenn du den Eintrag in der TextBox änderst, wird auch Zelle C1 geändert. Du kannst aber die Eigenschaft der Textbox Enabled auf False setzen, dann können keine Änderungen am TextBoxinhalt gemacht werden.

Bis später,
Karin
...