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

Textfeld immer mit 2 Nachkommastellen versehen

Forumthread: Textfeld immer mit 2 Nachkommastellen versehen

Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 10:12:42
Hansi
Hallo Leute,

vorhin habt ihr mir gezeigt, wie man problemlos textfelder einer userform mit zellen befüllen kann.

wie aber kann man diese immer mit zwei nachkommastellen versehen?

Beispiel:

ich lese den Wert "7,6" aus einer zelle aus - dieser soll dann in meinem Textfeld mit 7,60 erscheinen. Eine Änderung der Zahlenformatierung in der Zelle selbst bringt auch nichts.

ich habe es mit folgender zeile sinnvoll zu ergänzen, schlug allerdings fehl:

Private Sub UserForm_Initialize()
Range("B3") = WorksheetFunction.Round(Range("B3"), 2)
TextBox1.Value = Sheets("Tabelle1").Range("b3")
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 10:14:52
Hajo_Zi
Hallo Hansi

ich habe es vor kurzem mit einen Label beantwortet, aber das bekommst Du ja umgearbeitet

Label1.Caption = "Der exakte Sparrenabstand beträgt: " _
& Application.WorksheetFunction.Round(Worksheets(1).Range("b15"), 2) & " m"

Gruß Hajo

Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 10:31:16
Hansi
...also irgendwie haut das hierbei nicht hin...

Private Sub UserForm_Initialize()

TextBox1.Value = Sheets("Tabelle1").Range("b3") &Application.WorksheetFunction.Round(Worksheets(1).Range("B3"), 2)

end sub

...dann macht er das doppelt!

Anzeige
Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 10:36:05
Hajo_Zi
Hallo Hansi

lese Deine Zeile doch noch mal.
Weise der Txtbox den wert von B3 zu und den gerundeten wert von B3 mit zwei stelen. Wie Du schon geschrieben hast ist es doppelt.
TextBox1.Value = Application.WorksheetFunction.Round(Sheets("Tabelle1").Range("b3"), 2)


Gruß Hajo

Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 11:02:32
Hansi
Hallo Hajo,

schönen Dank für deine Hilfe, aber ich bin halt noch ein Noob! ...bemühe mich aber schnell zu lernen!

Das Problem ist allerdings noch nicht behoben! Wenn ich meine Userform starte und die Textboxen sich füllen, stehen die ganzen Zahlen immer noch ohne die von mir gewünschten zwei Nachkommastellen da.

ich habe folgendes hinzugefügt, aber leider passiert da auch nichts:

Private Sub UserForm_Initialize()
Sheets("Tabelle1").Activate
Range("b3").NumberFormat = "0.00"
TextBox1.Value = Application.WorksheetFunction.Round(Sheets("Tabelle1").Range("b3"), 2)
TextBox2.Value = Sheets("Tabelle1").Range("b5")

End Sub

Ich hab in dem Buch von Bernd Held gelesen, dass man mit dem Befehl NumberFormat die Einstellungen der Zellen ändern kann....aber irgendwie funzt das nicht...

Anzeige
Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 11:08:10
Hajo_Zi
Hallo Hansi

das hatte ich wohl überlesen das immer 2 Nachkommastellen angezeit werden sollen. Das Zauberwort ist Format

Gruß Hajo

Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 11:08:48
Hansi
folgende zeile bewirkt auch nichts:

TextBox1.Value = Format(TextBox1.Value, "#,##0.00")

Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 11:11:55
Monika
Hallo Hansi,

versuchs mal damit:

Textbox1.Value = Format(Sheets("Tabelle1").Range"b3"),"#,##0.00")

Viele Grüße

Monika


Anzeige
Re: Textfeld immer mit 2 Nachkommastellen versehen
22.11.2002 11:16:54
Hansi
Hab ich schon gesagt das (wenn ich jetzt schwul wäre) ich dich heiraten würde?

Vielen Dank für die prompte Hilfe!

;
Anzeige

Infobox / Tutorial

Textfeld immer mit 2 Nachkommastellen versehen


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass ein Textfeld in einer Userform immer mit zwei Nachkommastellen angezeigt wird, kannst Du den folgenden VBA-Code verwenden. Dieser Code wird im UserForm_Initialize-Ereignis platziert:

Private Sub UserForm_Initialize()
    TextBox1.Value = Format(Sheets("Tabelle1").Range("B3").Value, "#,##0.00")
End Sub

Hierbei wird der Wert aus der Zelle B3 abgerufen und mit der Format-Funktion formatiert, sodass immer zwei Nachkommastellen angezeigt werden. Achte darauf, dass Du den richtigen Blattnamen verwendest, um Fehler zu vermeiden.


Häufige Fehler und Lösungen

Ein häufiger Fehler, den viele Benutzer machen, ist die doppelte Zuweisung eines Wertes an das Textfeld. Achte darauf, dass Du den Wert nur einmal zuweist:

TextBox1.Value = Application.WorksheetFunction.Round(Sheets("Tabelle1").Range("B3"), 2)

Vermeide es, die Zelle vorher zu formatieren, wenn Du die Werte direkt in das Textfeld einfügen möchtest. Die Verwendung von NumberFormat hat keinen Einfluss auf den Wert im Textfeld.


Alternative Methoden

Falls Du in einer Excel-Version arbeitest, die die Formatierung nicht direkt unterstützt, kannst Du auch die CStr-Funktion verwenden, um den Wert in einen String zu konvertieren und anschließend zu formatieren:

TextBox1.Value = CStr(Application.WorksheetFunction.Round(Sheets("Tabelle1").Range("B3"), 2))

Diese Methode stellt sicher, dass der gerundete Wert als Textwert im Textfeld angezeigt wird.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die Formatierung in verschiedenen Szenarien anwenden kannst:

  1. Wert aus einer Zelle formatieren:

    TextBox1.Value = Format(Sheets("Tabelle1").Range("B3"), "#,##0.00")
  2. Füllung mehrerer Textfelder:

    Private Sub UserForm_Initialize()
       TextBox1.Value = Format(Sheets("Tabelle1").Range("B3"), "#,##0.00")
       TextBox2.Value = Format(Sheets("Tabelle1").Range("B5"), "#,##0.00")
    End Sub
  3. Verwendung von Labels:

    Label1.Caption = "Wert: " & Format(Sheets("Tabelle1").Range("B3"), "#,##0.00")

Tipps für Profis

  • Fehleranalyse: Wenn Du Probleme mit der Formatierung hast, überprüfe die Zellenformate in Excel. Manchmal kann das Zellenformat die Anzeige im Textfeld beeinflussen.
  • Debugging: Verwende die Debug.Print-Anweisung, um den Wert vor und nach der Formatierung auszugeben. So erkennst Du, ob die Zuweisung korrekt funktioniert.
  • VBA-Optionen: Stelle sicher, dass in den Excel-Optionen die Makros aktiviert sind, um Probleme beim Ausführen des Codes zu vermeiden.

FAQ: Häufige Fragen

1. Warum wird der Wert im Textfeld nicht korrekt angezeigt?
Wenn der Wert nicht korrekt angezeigt wird, überprüfe, ob der Wert aus der Zelle tatsächlich eine Zahl ist und kein Text.

2. Welche Excel-Version benötige ich?
Die beschriebenen Methoden funktionieren in Excel 2007 und höheren Versionen. Stelle sicher, dass Du eine kompatible Version verwendest.

3. Was, wenn ich mehr als zwei Nachkommastellen möchte?
Ändere einfach die Formatierungszeichenfolge in der Format-Funktion, z.B. "#,##0.000" für drei Nachkommastellen.

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