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

Forumthread: Zahlen in TextBox im UserForm Runden

Zahlen in TextBox im UserForm Runden
20.11.2005 16:09:18
Gregor
Hallo,
mein Problem ist:
Zahlen werden so 0,114567 dargestellt,
ich möchte gerne runden 0,11
konkret:
ein UserForm mit TextBox
der Inhalt dieser wird aus einer Zelle in einer Tabelle gelesen
TextBox301.Value = Sheets("Tabelle").Range("f18")
der Inhalt der Zelle ist nicht mit Fuktion gerundet,
soll auch nicht, da sonst die folgenden Berechnungen nicht stimmen,
Wie bekomme ich nun den Inhalt im UserForm TextBox gerundet?
Gregor
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 17:05:48
Peter
Hallo Gregor,
so sollte es gehen
TextBox301.Text = Format(Sheets("Tabelle").Range("F18"), "##0.00")
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 19:18:33
Gregor
Hallo Peter,
das funktioniert :)
Ich war mit unserm Sohn im Planetarium und habe dann noch gegessen,
daher erst jetzt meine Antwort, Danke.
Gibt es auch noch eine Möglichkeit,
alle TextBox'en in meinem UserForm
zu runden?
Und kann die Rundung bestimmt werden,
aus 0,1142 mach 0,12 ?
Aber sonst bin ich super glücklich über die schnelle Hilfe,
ich habe 3Stunden im Archiv geforscht und verschiedenes versucht,
bis ich mich entschloss die Frage hier zu stellen.
Nächstes mal melde ich mich schneller, das spart viel Zeit und Mühe.
Dank Dir Peter :)
Gregor
Anzeige
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 21:08:17
Peter
Hallo Gregor,
hier wird nur formatiert, nicht direkt gerundet.
Aber ein Wert von 0,115 wird als 0,12 ausgegeben, bis 0,1149 bleibt es bei 0,11.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 21:13:30
Gregor
Schade,
ich bin gerade dabei die TextBox'en zu ändern
von TextBox315.Value = Sheets("Tabelle").Range("a34")
in TextBox315.Value = Format(Sheets("Tabelle").Range("a34"), "##0.00")
das ist sehr müßig
Gregor
Anzeige
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 22:33:03
Gregor
Hallo,
nu habe ich noch ein Problem,
wenn ich das so mache ist es ok solange ich die Daten nur auslese
aber ich gebe über mein UserForm noch Zahlen ein

Private Sub TextBox312_Change()
Sheets("Tabelle").Range("b32").Value = TextBox312.Value
Aktualisieren
End Sub

das geht gut, solange ich Zahlen ohne Komma verwende,
sobald ich eine Zahl mit Komma eingebe, wird diese in der Tabelle als Text gespeichert und bei
TextBox306.Text = Format(Sheets("Tabelle").Range("b29"), "##0.00")
sind eingaben hinterm komma gar nicht möglich
wenn ich
TextBox306.Text = Format(Sheets("Tabelle").Range("b29"), "###.##")
schreibe können Eingaben hinterm Komma gemacht werden
...
Ich habe mal die Datei als Muster hochgeladen
https://www.herber.de/bbs/user/28551.xls
Gregor
Anzeige
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 19:18:54
Gregor
Hallo Peter,
das funktioniert :)
Ich war mit unserm Sohn im Planetarium und habe dann noch gegessen,
daher erst jetzt meine Antwort, Danke.
Gibt es auch noch eine Möglichkeit,
alle TextBox'en in meinem UserForm
zu runden?
Und kann die Rundung bestimmt werden,
aus 0,1142 mach 0,12 ?
Aber sonst bin ich super glücklich über die schnelle Hilfe,
ich habe 3Stunden im Archiv geforscht und verschiedenes versucht,
bis ich mich entschloss die Frage hier zu stellen.
Nächstes mal melde ich mich schneller, das spart viel Zeit und Mühe.
Dank Dir Peter :)
Gregor
Anzeige
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 19:18:57
Gregor
Hallo Peter,
das funktioniert :)
Ich war mit unserm Sohn im Planetarium und habe dann noch gegessen,
daher erst jetzt meine Antwort, Danke.
Gibt es auch noch eine Möglichkeit,
alle TextBox'en in meinem UserForm
zu runden?
Und kann die Rundung bestimmt werden,
aus 0,1142 mach 0,12 ?
Aber sonst bin ich super glücklich über die schnelle Hilfe,
ich habe 3Stunden im Archiv geforscht und verschiedenes versucht,
bis ich mich entschloss die Frage hier zu stellen.
Nächstes mal melde ich mich schneller, das spart viel Zeit und Mühe.
Dank Dir Peter :)
Gregor
Anzeige
AW: Zahlen in TextBox im UserForm Runden
20.11.2005 19:26:20
Gregor
Wie ist das passiert?
Ich habe auf Absenden Gedrückt und eine Aktion erwartet,
dann noch mal und noch mal, dabei ist der Beitrag wiederholt eingetragen worden,
im Sekunden Takt.
Kann das wieder gelöscht werden?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zahlen in TextBox im UserForm Runden


Schritt-für-Schritt-Anleitung

Um Zahlen in einer TextBox im UserForm zu runden, folge diesen Schritten:

  1. Öffne das Visual Basic for Applications (VBA) Editor: Drücke ALT + F11 in Excel.

  2. Finde dein UserForm: Wähle das UserForm aus, in dem du die TextBox hast.

  3. Füge den folgenden Code hinzu, um den Wert der TextBox zu formatieren:

    Private Sub UserForm_Initialize()
       TextBox301.Text = Format(Sheets("Tabelle").Range("F18"), "##0.00")
    End Sub
  4. Runde die Werte in mehreren TextBoxen: Um alle TextBoxen zu runden, kannst du eine Schleife verwenden:

    Private Sub RundenAlleTextBoxes()
       Dim ctl As Control
       For Each ctl In Me.Controls
           If TypeName(ctl) = "TextBox" Then
               ctl.Text = Format(CDbl(ctl.Text), "##0.00")
           End If
       Next ctl
    End Sub
  5. Runde beim Eingeben von Werten: Um sicherzustellen, dass der eingegebene Wert gerundet wird, kannst du den folgenden Code in das Change-Ereignis der TextBox einfügen:

    Private Sub TextBox312_Change()
       Sheets("Tabelle").Range("B32").Value = Round(TextBox312.Value, 2)
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Zahlen werden als Text gespeichert
    Lösung: Stelle sicher, dass du die Werte als Double konvertierst, bevor du sie in die Zelle schreibst. Beispiel:

    Sheets("Tabelle").Range("B32").Value = CDbl(TextBox312.Value)
  • Fehler: Eingaben hinter dem Komma sind nicht möglich
    Lösung: Verwende das richtige Format für die TextBox. Zum Beispiel:

    TextBox306.Text = Format(Sheets("Tabelle").Range("B29"), "###.##")

Alternative Methoden

Falls du die Werte nicht nur formatieren, sondern auch tatsächlich runden möchtest, kannst du die Round-Funktion verwenden. Diese kann wie folgt angewendet werden:

Dim gerundeterWert As Double
gerundeterWert = Round(Sheets("Tabelle").Range("F18").Value, 2)
TextBox301.Text = gerundeterWert

Praktische Beispiele

Hier sind einige nützliche Anwendungsbeispiele:

  1. Runden eines spezifischen Wertes:

    TextBox301.Text = Format(Round(Sheets("Tabelle").Range("F18").Value, 2), "##0.00")
  2. Runden beim Speichern der Daten:

    Private Sub ButtonSpeichern_Click()
       Sheets("Tabelle").Range("B32").Value = Round(TextBox312.Value, 2)
    End Sub

Tipps für Profis

  • Verwende CDbl() oder CStr(), um sicherzustellen, dass Daten in der richtigen Form vorliegen, bevor du Berechnungen durchführst.
  • Teste deinen Code gründlich in der Entwicklungsumgebung, bevor du ihn in einer produktiven Umgebung verwendest.
  • Dokumentiere deinen Code, um die Wartung und das Verständnis zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich die Rundungsgenauigkeit ändern?
Du kannst die Rundungsgenauigkeit anpassen, indem du die Zahl in der Round-Funktion änderst. Zum Beispiel, Round(Wert, 3) rundet auf drei Dezimalstellen.

2. Funktioniert dies auch in Excel 365?
Ja, diese Methoden sind in allen Versionen von Excel verfügbar, die VBA unterstützen, einschließlich Excel 365.

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