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

Forumthread: Ergebnis in Textbox auf Dezimalstellen begrenzen

Ergebnis in Textbox auf Dezimalstellen begrenzen
28.07.2015 09:24:41
Robin
Ahoi,
ich habe mir eine kleine Userform gebastelt, bei der ich in verschiedenen Textboxen irgendwelche Zahlen eingebe. Diese Zahlen werden dann beim Klicken eines Buttons in mein Excelblatt kopieret. Dort ist eine Formel hinterlegt und das Ergebnis daraus, wird dann wieder in der Userform in einer seperaten Textbox angezeigt.
So weit funktioniert das ganze auch, aber:
Ich schaffe es nicht, die Dezimalstellen zu begrenzen. Die Textbox zeigt mir das gesamte, vollständige Ergebnis an. Ich würde es aber gerne auf max. zwei Dezimalstellen begrenzen. Leider reicht es nicht, die maximale Länge der Box zu begrenzen, da das nur bei der Eingabe funktioniert. Und auch in Excel reicht es nicht aus, die Zelle auf zwei Stellen nach dem Komma zu definieren.
Der Code sieht einfach wie folgt aus:
TextBox14.Value = .Cells(12, 1).Value
TextBox15.Value = .Cells(13, 1).Value
Vielen Dank schon mal im Voraus.
Gruß
Robin

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ergebnis in Textbox auf Dezimalstellen begrenzen
28.07.2015 09:29:16
Robin
So simpel...
gepriesen sei die Runden-Funktion in Excel...
Problem gelöst. ;)

AW: Ergebnis in Textbox auf Dezimalstellen begrenzen
28.07.2015 09:29:40
Rudi
Hallo,
TextBox14.Value = Format(.Cells(12, 1).Value,"0,00")
Gruß
Rudi

AW: Ergebnis in Textbox auf Dezimalstellen begrenzen
28.07.2015 12:31:22
Robin
Hi Rudi,
vielen Dank erstmal.
Ich bin jetzt bei einem ähnlichen Problem:
Ich mache in einer neuen Userform eine Berechnung mit ein paar Werten, die man dort eintragen kann und will diesen Wert nun in meiner ersten Userform angezeigt bekommen.
Dafür habe ich:
Eingabemaske_Neu.Textbox10.value = Textbox12.Value * Textbox14.Value/Textbox13.Value
Funktioniert soweit auch, nur habe ich wieder das Problem mit zu vielen Dezimalstellen. Kann ich diese auch irgendwie beschränken? Wenn ich den Ausdruck nach dem Gleichheitszeichen mit Format(Textbox12.Value * Textbox14.Value/Textbox13.Value, "0,00") beschreibe, funktioniert es nicht.
Danke und Gruß

Anzeige
AW: Ergebnis in Textbox auf Dezimalstellen begrenzen
28.07.2015 12:49:38
Rudi
Hallo,
mein Fehler
Format(Textbox12.Value * Textbox14.Value/Textbox13.Value, "0.00")
Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ergebnis in Textbox auf Dezimalstellen begrenzen


Schritt-für-Schritt-Anleitung

Um die Dezimalstellen in einer Textbox in Excel VBA zu begrenzen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Finde deine Userform

    • Wähle die Userform aus, in der du die Textboxen hast.
  3. Füge den folgenden Code hinzu

    • Ersetze den bestehenden Code in den entsprechenden Textboxen mit dem folgenden:
    TextBox14.Value = Format(.Cells(12, 1).Value, "0.00")
    TextBox15.Value = Format(.Cells(13, 1).Value, "0.00")
  4. Für Berechnungen in einer anderen Textbox

    • Wenn du Berechnungen durchführst, stelle sicher, dass du das Ergebnis ebenfalls formatierst:
    Eingabemaske_Neu.TextBox10.Value = Format(TextBox12.Value * TextBox14.Value / TextBox13.Value, "0.00")
  5. Testen

    • Schließe den VBA-Editor und teste die Userform, um sicherzustellen, dass die Dezimalstellen jetzt entsprechend begrenzt sind.

Häufige Fehler und Lösungen

  • Problem: Das Format funktioniert nicht.

    • Lösung: Stelle sicher, dass du die richtige Syntax verwendest. Das Format sollte Format(Wert, "0.00") sein, um zwei Dezimalstellen anzuzeigen.
  • Problem: Der Wert wird nicht als Zahl erkannt.

    • Lösung: Überprüfe, ob die Eingabewerte in den Textboxen tatsächlich Zahlen sind. Du kannst das mit IsNumeric(TextBox12.Value) testen.

Alternative Methoden

Eine alternative Methode, um die Dezimalstellen in einer Tabelle zu begrenzen, ist die Verwendung der Runden-Funktion:

TextBox14.Value = Round(.Cells(12, 1).Value, 2)

Diese Methode rundet den Wert auf zwei Dezimalstellen, bevor er in der Textbox angezeigt wird.


Praktische Beispiele

  1. Beispiel für die Anzeige einer Summe

    Dim Summe As Double
    Summe = TextBox12.Value + TextBox14.Value
    TextBox15.Value = Format(Summe, "0.00")
  2. Beispiel für die Division

    Dim Ergebnis As Double
    Ergebnis = TextBox12.Value / TextBox13.Value
    TextBox10.Value = Format(Ergebnis, "0.00")

Diese Beispiele zeigen, wie du die Dezimalstellen in verschiedenen Berechnungen und Textboxen effektiv begrenzen kannst.


Tipps für Profis

  • Nutze die Format-Funktion, um sicherzustellen, dass die Werte in der richtigen Form angezeigt werden.
  • Experimentiere mit verschiedenen Formatierungen, um das gewünschte Ergebnis zu erzielen, z.B. Format(Wert, "#,##0.00") für Tausendertrennzeichen.
  • Überlege, ob du die maximalen Dezimalstellen in der Excel-Tabelle direkt einstellen möchtest, um auch dort ein einheitliches Erscheinungsbild zu gewährleisten.

FAQ: Häufige Fragen

1. Wie kann ich mehr als zwei Dezimalstellen anzeigen?
Du kannst die Formatierung anpassen, indem du "0.000" oder eine andere Anzahl von Nullen verwendest.

2. Was ist, wenn die Textbox leer ist?
Stelle sicher, dass du vor der Formatierung prüfst, ob die Textbox einen Wert enthält, um Fehler zu vermeiden. Nutze If Not IsEmpty(TextBox14.Value) Then ....

3. Funktioniert das auch in Excel 365?
Ja, die beschriebenen Methoden sind in allen gängigen Excel-Versionen, einschließlich Excel 365, anwendbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige