Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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
Inhaltsverzeichnis

Textbox in % und dann addieren

Textbox in % und dann addieren
22.10.2013 09:08:19
Jeanine
Hallo
Nach vielen pröbeln und googleln wende ich mich jetzt doch an die Profis, bevor ich meinen Computer aus dem Fenster schmeisse ;))
Ich erstelle im Moment ein Berechnungstool mit verschiedenen Textboxen und DropDowns.
Nun möchte ich folgendes:
In Textbox einzutragende Zahl nach Eingabe in % formatieren:
betrifft TB1 bis TB7
Textboxen addieren:
TB2 + TB3 + TB4 + TB5 (Resultat in TB6)
TB1 + TB6 (Resultat in TB7)
Kann mir jemand bei den entsprechenden Codes helfen?
Vielen Dank schon im Voraus :)

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox in % und dann addieren
22.10.2013 09:22:11
Beverly
Hi,
befinden sich die textBoxen auf einem userForm oder im Tabellenblatt?


AW: Textbox in % und dann addieren
22.10.2013 09:42:23
Jeanine
Im Tabellenblatt selber, habe UserForm eingefügt.
lg

AW: Textbox in % und dann addieren
22.10.2013 09:43:09
Jeanine
sorry, habe keine Userform eingefügt..

AW: Textbox in % und dann addieren
22.10.2013 10:35:26
Beverly
Zum Ändern der Eingabe in %
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If IsNumeric(TextBox1) Then
If InStr(TextBox1, "%") = 0 Then TextBox1 = Format(CDbl(TextBox1) / 100, "0.00%")
End If
End If
End Sub


Anzeige
AW: Textbox in % und dann addieren
22.10.2013 10:49:50
Jeanine
Danke für den Code.. könntest du mir noch sagen wo genau ich diesen eingeben muss? :S
PS meine TextBoxen heissen TB.. ich denke ich muss diese in deinem Code noch umbenennen?
lg

AW: Textbox in % und dann addieren
22.10.2013 10:58:31
Beverly
Mache einen Doppelklick auf die TextBox, dann entsteht in der VBA-Umgebung ein Prozedurgerüst - kopiere den Code (ohne die 1. und letzte Zeile) dort hinein und ändere noch den Namen von TextBox1 in den entsprechenden Namen deiner TextBox.


AW: Textbox in % und dann addieren
22.10.2013 11:24:57
Jeanine
super, vielen Dank, hat geklappt! :) muss ich einfach jedes mal nach der Eingabe Enter drücken, damit die Zahl in Prozent angezeigt wird, oder?
Hättest du noch den Code für die Addition?
Lg

Anzeige
AW: Textbox in % und dann addieren
22.10.2013 11:25:43
Jeanine
ups hab das Kästchen nicht aktiviert.. sorry, bin neu hier ;)

AW: Textbox in % und dann addieren
22.10.2013 11:37:42
Beverly
Die Eingabe ist mit Enter abzuschließen, denn sonst weiß Excel ja nicht, dass du mit der Eingabe fertig bist.
Wann sollen die TextBoxen summiert werden - direkt nach der Eingabe oder gesondert (z.B. per extra Button).


AW: Textbox in % und dann addieren
22.10.2013 11:45:47
Jeanine
Stimmt, da hast du Recht!
Super wäre noch ein extra Button :)
Muss ich da eine "Schaltfläche" einfügen?
Dann hätte ich zwei:
Schaltfläche 1 soll TB2 + TB3 + TB4 + TB5 berechnen und die Summe in TB6 anzeigen
Schaltfläche 2 soll TB1 + TB6 berechnen und die Summe in TB7 anzeigen
Denkst du das würde gehen? ich habe noch nie mit Schaltflächen gearbeitet..
Danke :)

Anzeige
AW: Textbox in % und dann addieren
22.10.2013 12:14:50
Beverly
Einzufügen ist eine "Befehlsschaltfläche" aus den ActiveX-Steeurelementen.
Hüer der Code für beide CommandButton:
Private Sub CommandButton1_Click()
Dim oobElement As OLEObject
Dim dblSumme As Double
For Each oobElement In ActiveSheet.OLEObjects
If oobElement.progID = "Forms.TextBox.1" Then
If IsNumeric(Right(oobElement.Name, 1)) And Right(oobElement.Name, 1)  "" Then dblSumme = dblSumme + CDbl(Application. _
Substitute(oobElement.Object.Value, "%", ""))
End If
End If
Next oobElement
ActiveSheet.TextBox6 = Format(dblSumme / 100, "0.00%")
End Sub
Private Sub CommandButton2_Click()
Dim dblSumme As Double
If ActiveSheet.TextBox6  "" And ActiveSheet.TextBox1  "" Then
If IsNumeric(Application.Substitute(ActiveSheet.TextBox1, "%", "")) And IsNumeric( _
Application.Substitute(ActiveSheet.TextBox6, "%", "")) Then
dblSumme = CDbl(Application.Substitute(ActiveSheet.TextBox1, "%", "")) + CDbl( _
Application.Substitute(ActiveSheet.TextBox6, "%", ""))
ActiveSheet.TextBox7 = Format(dblSumme / 100, "0.00%")
End If
End If
End Sub
Namen der TextBoxen musst du natürlich wieder anpassen.


Anzeige
AW: Textbox in % und dann addieren
22.10.2013 13:08:13
Jeanine
Wow, vielen Dank für den Code!
Leider mach ich wahrscheinlich was falsch, es berechnet Null.
Habe ich vielleicht etwas vergessen anzupassen? :S
Hier mein angepasster Code.
Private Sub CommandButton1_Click()
Dim oobElement As OLEObject
Dim dblSumme As Double
For Each oobElement In ActiveSheet.OLEObjects
If oobElement.progID = "Forms.TB.1" Then
If IsNumeric(Right(oobElement.Name, 1)) And Right(oobElement.Name, 1)  "" Then dblSumme = dblSumme + CDbl(Application. _
Substitute(oobElement.Object.Value, "%", ""))
End If
End If
Next oobElement
ActiveSheet.TB6 = Format(dblSumme / 100, "0.00%")
End Sub
Private Sub CommandButton2_Click()
Dim dblSumme As Double
If ActiveSheet.TB6  "" And ActiveSheet.TB1  "" Then
If IsNumeric(Application.Substitute(ActiveSheet.TB1, "%", "")) And IsNumeric( _
Application.Substitute(ActiveSheet.TB6, "%", "")) Then
dblSumme = CDbl(Application.Substitute(ActiveSheet.TB1, "%", "")) + CDbl( _
Application.Substitute(ActiveSheet.TB6, "%", ""))
ActiveSheet.TB7 = Format(dblSumme / 100, "0.00%")
End If
End If
End Sub
Sorry, VBA ist wirklich Neuland für mich..

Anzeige
AW: Textbox in % und dann addieren
22.10.2013 13:14:54
Jeanine
p.s. der zweite Commandbutton funktioniert einwandfrei.. nur die TB6 wird nicht berechnet...

AW: Textbox in % und dann addieren
22.10.2013 14:18:43
Jeanine
sooo jetzt hab ich gefunden was falsch war.. ich hab beim "If oobElement.progID = "Forms.TextBox.1" Then" die TextBox auch in TB umgeändert x) habs wieder zurückmutiert und jetzt berechnet es alles richtig! Vielen Dank für deine Hilfe! :)

AW: Textbox in % und dann addieren
22.10.2013 15:00:07
Jeanine
ouh man, jetzt hab ich mich zu früh gefreut :(
Es hat noch einen Berechnungsfehler..
Der erste CommandButton berechnet TB1 bis TB7.. es sollte aber nur TB2 bis TB5 berechnen..
Was muss ich ändern?

AW: Textbox in % und dann addieren
22.10.2013 15:38:11
Beverly
Es wird 1 bis 5 summiert, nicht 1 bis 7. Damit nur 2 bis 5 summiert wird, musst du diese Zeile ändern:
If IsNumeric(Right(oobElement.Name, 1)) And Right(oobElement.Name, 1) And Right( _
oobElement.Name, 1) > 1 Then


Anzeige
AW: Textbox in % und dann addieren
22.10.2013 16:10:05
Jeanine
hat geklappt!
vielen Dank für deine Geduld und Bemühungen :)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige