Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zahlen in Textbox addieren
15.03.2023 13:01:21
AlexW

Hallo zusammen,

Nach stundenlangen Google-Recherchen hoffe ich hier auf Hilfe. Ich bin mir nicht sicher, ob meine Idee überhaupt funktioniert. Grundsätzlich erhalte ich aus verschiedenen Quellen Statistikdaten, welche in einer Excel zusammengefasst werden sollen. Um das zu vereinfachen, möchte ich ein Userform bauen, in dem unter anderem eine Textbox eingebaut ist. Diese ist benannt "Zahlenfeld ". In "Zahlenfeld" soll es möglich sein, eine Reihe an Zahlen einzufügen, welche beispielsweise aus einem PDF per Copy und Paste kopiert und anschließend in "Zahlenfeld" eingefügt werden. Diese Zahlenreihe (zum Beispiel : 10 32 40)soll innerhalb von "Zahlenfeld" addiert werden und das Ergebnis dieser Addition soll in einer zweiten Textbox "ErgebnisZahlenfeld" ausgegeben werden. Die Addition soll gerne, sofern möglich, ohne Interaktion des Nutzers geschehen.

Die Fragen also:
-Ist es möglich, Zahlenreihen innerhalb einer Textbox zu addieren, nachdem diese eingefügt wurden?
-Wenn ja: Mit welchen Codezeilen?


Vielen Dank bereits vorab für die Hilfe.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen in Textbox addieren
15.03.2023 13:07:07
onur
-Ist es möglich, Zahlenreihen innerhalb einer Textbox zu addieren, nachdem diese eingefügt wurden? Bestimmt
-Wenn ja: Mit welchen Codezeilen? Mit VBA-Codezeilen.
Abstrakt Frage - abstrakte Antwort.


AW: Zahlen in Textbox addieren
15.03.2023 13:19:40
AlexW
edit: Mit welchen VBA-Codezeilen kann ich die Textbox "Zahlenfeld"hinterlegen,um die Addition der darin eingefügten Zahlenwerte zu veranlassen?


AW: Zahlen in Textbox addieren
Hans W. Herber
Hallo AlexW,

rufe mit dem Exit-Ereignis der TexBox die folgende Funktion auf und gib das Ergebnis in die andere TextBox weiter:

Function GetSum(sTxt As String) As Long
   Dim arr As Variant
   Dim lSum As Long
   Dim iArr As Integer
   
   arr = Split(sTxt, " ")
   
   For iArr = 0 To UBound(arr)
      lSum = lSum + CLng(arr(iArr))
   Next iArr
   
   GetSum = lSum
End Function
Gruß hans


Anzeige
AW: Zahlen in Textbox addieren
15.03.2023 15:04:43
AlexW
Hallo Hans, vielen Dank für deine Rückmeldung. Rudis Code hat bereits hervorragend funktioniert, für meinen Lerneffekt: Das Ergebnis hätte ich mit ZahlenfeldErgebnis.value = Zahlenfeld.Value erhalten oder?


AW: Zahlen in Textbox addieren
15.03.2023 15:30:01
AlexW
Zudem erfolgt bei Ausführen des Codes der Fehler "Fehler beim Kompilieren End Sub erwartet". Als Ereignis habe ich wie beschrieben Exut gewählt, es steht dann

Private Sub Zahlenfeld_Exit(By al Cancel as MSForms.ReturnBoolean)

In der Ereignis Zeile. Der Code ist 1 zu 1 übernommen. Egal wo ich End Sub
hinsetzen, der Fehler bleibt.


Anzeige
AW: Zahlen in Textbox addieren
15.03.2023 13:35:50
Rudi Maintaire
Hallo,
wird ausgelöst, sobald du Zahlenfeld verlässt:
Private Sub Zahlenfeld_AfterUpdate()
  Dim i As Integer, erg As Double, t
  t = Split(Zahlenfeld)
  For i = 0 To UBound(t)
    erg = erg + t(i)
  Next
  ZahlenfeldErgebnis = erg
End Sub
Werte müssen mit Leerzeichen getrennt sein.

Gruß
Rudi


AW: Zahlen in Textbox addieren
15.03.2023 15:01:58
AlexW
Hallo Rudi, vielen Dank für die Codezeilen, es funktioniert hervorragend!! Ich werde aber für den Lerneffekt noch versuchen, die einzelnen Schritte nachzuvollziehen.


AW: Zahlen in Textbox addieren
15.03.2023 15:23:36
AlexW
Okay, habe doch noch eine Nachfrage:

Die Zahlen, welche ich per Copy und Paste einfügen möchte, werden untereinander stehend angeliefert. Daher muss ich, um diese in das Zahlenfeld einzufügen, "Multiline" auf True setzen.
Mache ich das, wirft mir Excel nach Eingabe der Zahlen in "Zahlenfeld" den Fehler "Laufzeitfehler 13 Typen unverträglich" aus.
gibt es eine andere Möglichkeit, die untereinander stehenden Zahlen einzufügen, oder den Fehler zu beheben?


Anzeige
AW: Zahlen in Textbox addieren
15.03.2023 16:03:23
Daniel
HI
in dem fall hast du nicht nur Leerzeichen zwischen den Zahlen stehen, sondern auch noch die Zeichen für den Zeilenumburch (Zeichen Code 10 und oder Code 13)
das müsstest du erstmal bereingen.
Außedem solltet du dir eine sicherheitabfrage einbauchen, ob auch wirklich Zahleneingegeben wurden, bevor du addierst,.

Private Sub Zahlenfeld_AfterUpdate()
  Dim i As Integer, erg As Double, t
  Dim txt as string
  txt = Zahlenfeld.Text
  txt = Replace(txt, chr(10), " ")
  txt = Replace(txt, chr(13), " ")
  txt = Worksheetfunction.Trim(txt)
  t = Split(Zahlenfeld)
  For i = 0 To UBound(t)
    if isnumeric(t(i)) then erg = erg + CDbl(t(i))
  Next
  ZahlenfeldErgebnis = erg
End Sub


Anzeige
AW: Zahlen in Textbox addieren
17.03.2023 17:41:42
AlexW
Vielen Dank für den Tipp, leider führt das dazu, dass mit Absatz eingefügte Zahlen immer zu dem Ergebnis 0 führen. Nacheinander mit Leerzeichen eingefügte Zahlen ergeben den korrekten Wert. Den Code habe ich eigentlich 1:1 übernommen. Kannst du mir da nochmal helfen?


AW: Zahlen in Textbox addieren
18.03.2023 20:19:01
AlexW
Oder kann mir jemand anderes helfen?


AW: Zahlen in Textbox addieren
20.03.2023 15:42:44
Daniel
korrigier mal
t = Split(Zahlenfeld)
in
t = Split(txt, " ")

Gruß Daniel


AW: Zahlen in Textbox addieren
21.03.2023 15:23:44
AlexW
Hallo Daniel, vielen Dank, das funktioniert einwandfrei :) Vielen Dank für die Mühe und Hilfe :)

Gruß, Alex

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige