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

Forumthread: Textbox addieren

Textbox addieren
13.12.2006 19:46:02
Sophie
Hallo liebe Freunde!
Banale Frage, beschäftigt mich aber seit einer geschlagenen Stunde (googeln & Co. hilft leider nicht, also bin an eure Hilfe angewiesen ...)
Also, ich habe ein Userform und würde gerne Textbox17+textbox18+textbox19=textbox20
was ich schon alles nicht ausprobiert habe, funktioniert die einfache rechnung (1+2+3=6) nicht!
DANKE für eure Hilfe!!!
Einen schönen Abend,
Sophie
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox addieren
13.12.2006 19:51:26
Reinhard
Hi Sophie,
Sub tt()
With Worksheets(1)
.TextBox3 = CInt(.TextBox1) + CInt(.TextBox2)
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Textbox addieren
13.12.2006 19:58:44
Sophie
Hallo Reinhard,
habe ausprobiert. Code bringt Fehlermeldung: Laufzeitfehler 438, Objekt unterstützt die Eigenschaft oder Methode nicht....
weiß nicht, woran das liegt....
Danke
Sophie
Anzeige
AW: Textbox addieren
13.12.2006 20:04:13
Reinhard
Hi Sophie,
hab jetzt ne UF gebastelt,
Wenn das auch nicht klappt, lade ma kleine Beispieldatei hoch wo es nihct läuft.
Private Sub UserForm_Initialize()
TextBox1 = 1
TextBox2 = 4
TextBox3 = CInt(TextBox1) + CInt(TextBox2)
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Textbox addieren
13.12.2006 20:27:35
Peter
Hallo Sophie,
sieh dir die beigefügte Mappe an, vielleicht ist das ein Ansatz für dich.
https://www.herber.de/bbs/user/38965.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Textbox addieren
13.12.2006 20:35:17
Sophie
Hallo Peter,
wow, es hat funktioniert!!!
und sieht richtig toll aus!!!
ich habe bis jetzt eine einfachere variante genutzt:
TextBox16.Text = Val(TextBox17.Text) + Val(TextBox18.Text) + Val(TextBox19.Text) + Val(TextBox20.Text)
wenn ich heute nacht noch bisschen zeit habe, baue ich meine Userform um, ansonsten bleibt es so (muss die ganze Datei bis morgen 9 Uhr fertig sein, also Kaffee wird heute Nacht noch viel getrunken :-))
Vielen Dank und einen schönen Abend.
LG
Sophie
Anzeige
AW: Textbox addieren
13.12.2006 21:00:22
Reinhard
Hi Sophie, lade doch mal ne Beispieldatei hoch, vielleicht kannst dann kaffee sparen :-)
Gruß
Reinhard
AW: Textbox addieren
13.12.2006 21:07:51
Sophie
Hallo Reinhard!
es ist total lieb!
es ist aber eine mittlerweile sehr große datei mit tausenden makros. ich bin schon seit 2-3 wochen dabei. es gibt tausende unterschiedliche kleine fälle, die immer wieder nicht funktionieren, und für die ich immer wieder eine lösung suche. da ich aber in VBA mich kaum auskenne und nur durch learning by doing vorwärts komme, dauert es halt so lange. Mein Chef und der Kunde, für den ich das mache, erwarten von mir jedesmal Wunder. Ich bin nur über diesen forum so froh, weil die leute mir immer wieder geholfen haben...
also, fast du in den nächsten stunden noch nicht vor hast zu schlafen, schaue ab und zu ins forum rein. vielleicht stehe ich wieder vor einer für mich unüberwundbaren hürde.
Auf jeden fall einen herzlichsten Dank und einen schönen Abend.
Sophie
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Textboxen in Excel VBA addieren


Schritt-für-Schritt-Anleitung

Um Textboxen in einem Userform in Excel VBA zu addieren, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
  2. Erstelle ein Userform: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" → "UserForm".
  3. Füge Textboxen hinzu: Ziehe drei Textboxen (z.B. TextBox17, TextBox18, TextBox19) und eine weitere Textbox (TextBox20) auf das Userform.
  4. Füge einen Button hinzu: Ziehe einen Button auf das Userform, um die Addition auszulösen.
  5. Füge den VBA-Code hinzu: Doppelklicke auf den Button und füge folgenden Code ein:
Private Sub CommandButton1_Click()
    TextBox20.Text = Val(TextBox17.Text) + Val(TextBox18.Text) + Val(TextBox19.Text)
End Sub
  1. Teste das Userform: Schließe den VBA-Editor und starte das Userform, um die Addition zu testen.

Häufige Fehler und Lösungen

  • Laufzeitfehler 438: Dieser Fehler tritt auf, wenn eine Eigenschaft oder Methode nicht unterstützt wird. Stelle sicher, dass du die Textboxen korrekt referenzierst.
  • Falsche Werte in Textboxen: Wenn die Textboxen leere Werte oder nicht-numerische Werte enthalten, wird die Addition nicht korrekt durchgeführt. Verwende Val() oder CInt() um sicherzustellen, dass die Eingaben in Zahlen umgewandelt werden.

Alternative Methoden

Eine alternative Methode zur Addition von Textboxen könnte die Verwendung eines Worksheet sein. Hier ein Beispiel:

Sub AddTextboxValues()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets(1)
    ws.TextBox20.Value = Val(ws.TextBox17.Value) + Val(ws.TextBox18.Value) + Val(ws.TextBox19.Value)
End Sub

Diese Methode ist besonders nützlich, wenn du die Werte direkt auf einem Arbeitsblatt manipulieren möchtest.


Praktische Beispiele

Hier ist ein Beispiel, das du in Deinem Userform verwenden kannst:

Private Sub UserForm_Initialize()
    TextBox17.Text = "5"
    TextBox18.Text = "10"
    TextBox19.Text = "15"
    TextBox20.Text = Val(TextBox17.Text) + Val(TextBox18.Text) + Val(TextBox19.Text)
End Sub

Dieses Beispiel setzt die Textboxen beim Start des Userforms auf feste Werte und führt die Addition direkt aus.


Tipps für Profis

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinem Code, um unerwartete Eingaben abzufangen. Zum Beispiel:
On Error GoTo ErrorHandler
' Code zur Addition
Exit Sub

ErrorHandler:
    MsgBox "Bitte gib nur Zahlen ein!"
  • Code modularisieren: Erstelle Subroutinen für wiederverwendbaren Code, um die Lesbarkeit und Wartbarkeit zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur Zahlen eingegeben werden?
Verwende die KeyPress-Ereignisprozedur, um Eingaben zu validieren:

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

2. Funktioniert das in jeder Excel-Version?
Ja, der Code sollte in den meisten aktuellen Excel-Versionen ab 2007 funktionieren, solange Du mit VBA arbeitest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige