Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ergebis in Textbox 2 nachkommastellen

Ergebis in Textbox 2 nachkommastellen
23.02.2016 09:06:15
Erich
Hallo liebes Forum,
ich möchte in einer Textbox mir das Ergebnis mit 2 nachkommastellen anzeigen lassen.
mit folgendem Code zeigt er mir das zwar 2 Stellig an aber nur die Zahl die ich Ihm vorgebe nicht das Ergebnis.
TextBox8.Value = Format(123.12, "Fixed")
Wie bekomme ich das hin?
Danke

Anzeige

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

Betreff
Datum
Anwender
Anzeige
TextBox8 = VBA.Format(TextBox8, "0.00") - owT
23.02.2016 09:17:26
otto

AW: TextBox8 = VBA.Format(TextBox8, "0.00") - owT
23.02.2016 09:36:06
Erich
Hallo,
irgendwie geht das nicht er zeigt mir immer 10 stellig oder mehr an.
Habe den Code in die Textbox gemacht!
Private Sub TextBox8_Change()
TextBox8 = VBA.Format(TextBox8, "0.00")  'Stellt die Textbox auf 2 nachkkommastellen ein
End Sub
?
Danke

Anzeige
AW: TextBox8 - Zahl auf 2 Nachkommastellen
23.02.2016 09:42:11
fcs
Hallo Erich,
das Change-Ereignis ist hier nicht optimal, da dann nach jeder Zifferneingabe umformatiert werd. Sinnvoller ist das Exit-Ereignis (Userform) oder LostFocus (Tabellenblatt.
Außerdem muss der Textboxinhalt in eine Zahl umgewandelt werden, bevor der Inhalt formatiert und eingetragen wird.
Gruß
Franz
'Textbox auf Tabellenblatt - Code unter dem Tabellen-Modul
Private Sub TextBox1_LostFocus()
With Me.TextBox1
If .Value = "" Then
.Value = Format(0, "#,##0.00")
Else
If IsNumeric(.Value) Then
.Value = Format(CDbl(.Value), "#,##0.00")
Else
MsgBox "Eingabe muss nummerisch sein", vbOKOnly, "Eingabe " & Me.Name
.Activate
End If
End If
End With
End Sub
'Textbox in Userform - Code im Userform-Module
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TextBox1
If .Value = "" Then
.Value = Format(0, "#,##0.00")
Else
If Numeric(.Value) Then
.Value = Format(CDbl(.Value), "#,##0.00")
Else
MsgBox "Eingabe muss nummerisch sein", vbOKOnly, "Eingabe in " & Me.Name
Cancel = True
End If
End If
End With
End Sub

Anzeige
AW: TextBox8 - Zahl auf 2 Nachkommastellen
23.02.2016 09:52:11
Erich
Hallo,
vielen Dank für die Mithilfe, aber geht leider beides nicht!
?

AW: TextBox8 - Zahl auf 2 Nachkommastellen
23.02.2016 11:31:21
fcs
Hallo Erich,
du muss natürlich schon im Makronamen und im Code den Namen der Textbox von Textbox1 in Textbox8 ändern.
Gruß
Franz

AW: TextBox8 = VBA.Format(TextBox8, "0.00") - owT
23.02.2016 09:42:33
Frank
Hallo!
TextBox8 = Format(TextBox8, "0.00")
Hilfts?
Gruß Frank H.

Anzeige
Beispielmappe Textbox 2 nachkommastellen
23.02.2016 09:57:36
otto
Hi,
hier mal eine Beispielmappe, läuft.
Trage einfach eine Zahl in die Textbox und klicke dann auf die Schaltfläche.
https://www.herber.de/bbs/user/103797.xlsm
otto
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ergebnis in Textbox mit 2 Nachkommastellen anzeigen


Schritt-für-Schritt-Anleitung

Um das Ergebnis in einer Textbox mit genau 2 Nachkommastellen anzuzeigen, kannst Du den folgenden VBA-Code verwenden. Dieser Code sollte im entsprechenden Ereignis (z. B. LostFocus oder Exit) der Textbox eingefügt werden:

Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me.TextBox8
        If .Value = "" Then
            .Value = Format(0, "0.00")
        Else
            If IsNumeric(.Value) Then
                .Value = Format(CDbl(.Value), "0.00")
            Else
                MsgBox "Eingabe muss nummerisch sein", vbOKOnly, "Eingabe in " & Me.Name
                Cancel = True
            End If
        End If
    End With
End Sub

Achte darauf, dass Du den Namen der Textbox (TextBox8) entsprechend Deiner tatsächlichen Textbox anpasst.


Häufige Fehler und Lösungen

  • Problem: Textbox zeigt mehr als 2 Nachkommastellen an.

    • Lösung: Stelle sicher, dass Du die Formatierung korrekt anwendest und den Code im richtigen Ereignis wie LostFocus oder Exit platzierst.
  • Problem: Textbox akzeptiert keine numerischen Werte.

    • Lösung: Überprüfe, ob der Code die Eingabe vor der Formatierung in eine Zahl umwandelt (z. B. mit CDbl).

Alternative Methoden

Eine weitere Möglichkeit, nur 2 Nachkommastellen zuzulassen, ist die Verwendung von C# in Verbindung mit Excel. Hier kannst Du die Eigenschaften der Textbox so einstellen, dass nur numerische Eingaben erlaubt sind. Beispiel für C#:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
    {
        e.Handled = true;
    }
}

Praktische Beispiele

  • Beispiel für VBA zur Formatierung einer Zahl in einer Textbox:
Private Sub CommandButton1_Click()
    TextBox8.Value = Format(TextBox8.Value, "0.00")
End Sub
  • Beispiel für eine Excel-Berechnung, die auf 2 Nachkommastellen begrenzt ist:
Dim Ergebnis As Double
Ergebnis = CDbl(TextBox8.Value) * 1.5
TextBox8.Value = Format(Ergebnis, "0.00")

Tipps für Profis

  • Verwende CDec anstelle von CDbl für eine genauere Berechnung, wenn Du mit Währungswerten arbeitest.
  • Du kannst zusätzlich die Eingabe validieren, um sicherzustellen, dass nur Zahlen und bis zu 2 Nachkommastellen eingegeben werden.
  • Arbeite mit benutzerdefinierten Formaten in Excel, um die Anzeige der Werte zu steuern.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass nur 2 Nachkommastellen in der Textbox angezeigt werden?
Verwende die Formatierungsfunktion wie in den Beispielen beschrieben und stelle sicher, dass der Code in den richtigen Ereignissen der Textbox ausgeführt wird.

2. Was mache ich, wenn der Wert in der Textbox nicht als numerisch erkannt wird?
Überprüfe, dass Du die Eingabe vor der Formatierung mit IsNumeric überprüfst und gegebenenfalls die Eingabe konvertierst.

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