Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

3 Textboxen in Userform addieren

Forumthread: 3 Textboxen in Userform addieren

3 Textboxen in Userform addieren
k
Hallo,
habe in einer Userform 3 Textboen wo m² eingeben werden sollen. In TB4 soll dann stets die Summe angezeigt werden. Wenn eine der TB1-3 leer ist, soll diese den Wert 0 anzeigen.
Wie geht das ? Habe einiges Versucht - komme aber irgendwie nicht weiter.
Dachte an:
bei TB1-3_change...=Berechnen auslösen
Private Sub Berechnen()
TB4 = CDbl(TB1) + CDbl(TB2) + CDbl(TB3)
End Sub
sowie sicherstellen, dass in jeder der Textboxen Zahlen eingetippt werden:
Bsp. für TB3 (1-2 sehen ebenso aus)
Private Sub TB3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
Case Else:
KeyAscii = 0
End Select
End Sub
Bitte um Hilfe...
Gruß und Danke !
Kay
Anzeige
AW: 3 Textboxen in Userform addieren
20.07.2009 09:55:51
Hajo_Zi
Hallo Kay,
ich sehe in Deinem Code nicht das Du ein Prüfung machst ob Textbox "" das solltest Du machen bevor Du CDBL anwendest.

AW: 3 Textboxen in Userform addieren
20.07.2009 10:18:47
k
Hi,
sorry, doch - z.B. wenn TB3.value = "" then TB3.Value = 0 etc.
?!
Gruß
Kay
Anzeige
AW: 3 Textboxen in Userform addieren
20.07.2009 10:28:02
Hajo_Zi
Hallo Kay,
Du kannst mir schon glauben das ich lesen kann und das steht nicht in Deinem ersten Beitrag.
Für mich ist Schluß.
Gruß Hajo
AW: 3 Textboxen in Userform addieren
20.07.2009 10:51:10
k
Hallo Hajo,
...tut mir leid - so war es nicht gemeint. Natürlich hast Du recht - ich hatte es nicht im Beitrag geschrieben !!!
Was ich meinte war, "Sorry - Du hast recht!" und doch - "ja", dass ich es in meinem VBA-Code stehen hatten wie oben geschrieben mit:
z.B. wenn TB3.value = "" then TB3.Value = 0 etc. !
Wäre super nett, wenn Du mir vielleicht doch noch helfen würdest !
Werde auf meine Wortwahl in Zukunft besser achten !!!
Gruß und Danke für Deine Unterstützung !
Kay
Anzeige
AW: 3 Textboxen in Userform addieren
20.07.2009 10:53:29
Lenni
Moin Kay!
Vielleicht so, guckst Duhh:
https://www.herber.de/bbs/user/63293.xls
Kann mich aber erst heute Abend wieder melden > muss nun zur Arbeit!!
Gruß
Lenni

PS ...Rückmeldung wäre nett. Danke!
Anzeige
AW: 3 Textboxen in Userform addieren
20.07.2009 11:00:00
k
Hi Lenni - super vielen Dank ! Klappt super !!!
...viel Spass und Erfolg heut auf Arbeit ;o)
Gruß Kay
@Lenni - warum benutzt Du With ...
20.07.2009 11:22:17
Matthias
Hi Lenni
Ich guckte auch mal ;o)
aber warum benutzt Du eigentlich With
Private Sub Textbox4_rechnen()
With TextBox4
TextBox4.Text = Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)
End With
End Sub
wenn Du dann doch wieder Textbox4 vor .Text einsetzt


also wenn schon mit With dann so:
Private Sub Textbox4_rechnen()
With TextBox4
.Text = Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)
End With
End Sub
aber eigentlich reicht das Ganze auch ohne With
Private Sub Textbox4_rechnen()
TextBox4.Text = Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)
End Sub
Gruß Matthias
Anzeige
AW: @Lenni ...is noch nich so schlau...
20.07.2009 12:34:04
Lenni
Hallo Kay!
Schön, dass ich Dir helfen konnte und danke für Deine Arbeits-Wünsche!!
Matthias seine Hinweise kannst Du übernehmen... ...und das ist ganz einfach Matthias: Ich bin immer noch Schmal-Spur-VBAler und zieht immer noch voller Respekt den Hut vor solchen "Cracks", so wie Du es in meinen Augen bist!! ...aber ein "Bißchen" was kann ich auch schon und da mir hier in diesem Forum immer (!!) geholfen wurde, gebe ich das "Bißchen" was ich weiß auch gerne weiter.
Ich finde solche konstruktive Kritik, wie sie von Dir Matthias kommt,   SUPER-KLASSE!!   ...und bin dafür sehr dankbar!! Denn ich lerne immer dazu!! Danke Matthias!!
So, nun wirds aber eng... ...nun muss ich los...
Gruß
Lenni

Anzeige
:o)
21.07.2009 09:35:23
Matthias
Hi Lenni
:o)
war ja gar keine Kritik, sondern eher nur ein kleiner Hinweis.
Mach weiter so! Du bist ein sehr angenehmer Zeitgenosse
Gruß Matthias
;
Anzeige
Anzeige

Infobox / Tutorial

3 Textboxen in einer Userform addieren


Schritt-für-Schritt-Anleitung

Um die Werte von drei Textboxen in einer Userform zu addieren und das Ergebnis in einer vierten Textbox anzuzeigen, folge diesen Schritten:

  1. Userform erstellen: Öffne den Visual Basic for Applications (VBA) Editor in Excel und füge eine neue Userform hinzu.

  2. Textboxen hinzufügen: Füge drei Textboxen (TB1, TB2, TB3) und eine vierte Textbox (TB4) hinzu, die das Ergebnis anzeigen wird.

  3. VBA-Code einfügen: Klicke mit der rechten Maustaste auf die Userform und wähle "Code anzeigen". Füge den folgenden Code ein:

    Private Sub TB1_Change()
       Berechnen
    End Sub
    
    Private Sub TB2_Change()
       Berechnen
    End Sub
    
    Private Sub TB3_Change()
       Berechnen
    End Sub
    
    Private Sub Berechnen()
       TB4.Value = CDbl(IIf(TB1.Value = "", 0, TB1.Value)) + _
                   CDbl(IIf(TB2.Value = "", 0, TB2.Value)) + _
                   CDbl(IIf(TB3.Value = "", 0, TB3.Value))
    End Sub
  4. Eingaben validieren: Um sicherzustellen, dass nur Zahlen eingegeben werden, kannst du folgenden Code in jede der Textboxen einfügen:

    Private Sub TB1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
       If Not (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0
    End Sub

    Wiederhole diesen Schritt für TB2 und TB3.


Häufige Fehler und Lösungen

  • Fehler 1: Textbox zeigt einen Fehler an, wenn sie leer ist.

    • Lösung: Stelle sicher, dass du die Eingaben überprüfst. Verwende IIf, um leere Eingaben zu 0 zu setzen.
  • Fehler 2: Die Summe wird nicht aktualisiert.

    • Lösung: Überprüfe, ob die _Change-Ereignisse für alle Textboxen korrekt verknüpft sind.

Alternative Methoden

Eine alternative Methode, um die Werte in den Textboxen zu addieren, ist die Verwendung von Arrays:

Private Sub Berechnen()
    Dim Werte(1 To 3) As Double
    Dim i As Integer

    For i = 1 To 3
        Werte(i) = CDbl(IIf(Controls("TB" & i).Value = "", 0, Controls("TB" & i).Value))
    Next i

    TB4.Value = Werte(1) + Werte(2) + Werte(3)
End Sub

Diese Methode kann bei einer größeren Anzahl von Textboxen nützlich sein.


Praktische Beispiele

  1. Einfaches Beispiel: Erstelle eine Userform mit drei Textboxen für die Eingabe von Flächen in Quadratmetern und zeige die Gesamtfläche in der vierten Textbox an.
  2. Komplexeres Szenario: Erstelle eine Userform, die auch die Möglichkeit bietet, Flächen zu subtrahieren. Füge dazu einen weiteren Button hinzu, der eine Subtraktion durchführt.

Tipps für Profis

  • Verwende With-Anweisungen, um den Code zu optimieren und lesbarer zu machen.
  • Dokumentiere deinen Code gut, um die Wartung zu erleichtern.
  • Experimentiere mit der Verwendung von Steuerelementen, um die Benutzeroberfläche intuitiver zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur Zahlen eingegeben werden?
Du kannst das KeyPress-Ereignis der Textboxen nutzen, um nur bestimmte Zeichen zuzulassen.

2. Was ist, wenn ich mehr als drei Textboxen benötige?
Du kannst den Code anpassen, um eine Schleife zu verwenden, die alle Textboxen durchläuft, wie im Abschnitt „Alternative Methoden“ beschrieben.

3. Kann ich die Userform auch in älteren Excel-Versionen verwenden?
Ja, der beschriebene Ansatz funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2010 bis 2021.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige