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

Forumthread: Textbox mit Währungsformaten formatieren

Textbox mit Währungsformaten formatieren
25.10.2018 15:36:19
Peter
Hallo zusammen,
ein kleines Problem im Zusammenhang mit der Formatierung von Textboxen in einer Userform bekomme ich leider nicht gelöst :-(
Vielleicht habt Ihr ja eine Idee ...
Ich schreibe einen Eurowert in eine Textbox (in einer Userform) mittels:
ufDataInput.tb_01_02_euro.Value = Format(wksSchedule.Cells(21, lngSpalte).Value, "#,##0.00 €")
Das klappt wunderbar.
Nun soll mein Nutzer auch Werte in beliebigen anderen Währungen erfassen können. Dazu wählt er eine Währung aus und das entsprechende Format steht in einer benannten Zelle (Name der Zelle: nCurrencyFormat).
Bei meinem Test hat die Zelle den Eintrag "#.##0,00 [$zł-pl-PL]"
Und genauso wie bei dem Euro-Beispiel möchte ich nun den Wert in der Textbox wie folgt formatieren:
ufDataInput.tb_01_02_euro.Value = Format(wksSchedule.Cells(21, lngSpalte).Value, wksStammdaten.Range("nCurrencyFormat"))
Das klappt jedoch nicht - angezeigt wird der Zahlenwert mit fünf Nachkomastellen :-(
Könnt Ihr mir da weiterhelfen?
Vielen Dank und viele Grüße
Peter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox mit Währungsformaten formatieren
25.10.2018 17:32:30
onur
Beispieldatei!
AW: Textbox mit Währungsformaten formatieren
25.10.2018 19:49:11
Matthias
Moin!
Also habe auch mal getestet. Das Problem mit den 5 Nachkommastellen könnte sein, dass Ex bei einer ausländischen Währung auch die Trennzeichen ausländisch interpretiert und dementsprechend umwandelt. Dann wird halt der . als Komma interpretiert. Um den ganzen Problemen aus dem Weg zu gehen, hätte ich höchsten einen Workaround. Du nimmst dein Format und filterst dabei das Währungszeichen raus bspw. so:
temp = Split(temp, "-")(0)
temp = Split(temp, "$")(1)
DAbei temp am Anfang deine Formatstring zuweisen. Dann schaust du noch, ob das Zeichen vor bzw. hinter die Zahl gehört. Dafür würde reichen, beim Formatstring das erste Zeichen zu untersuchen. Ist es [ dann vor die Zahl ansonsten dahinter. Anschließend bastelst du dir über das Change-ereignis der TB das dann zusammen.
VG
Anzeige
AW: Textbox mit Währungsformaten formatieren
25.10.2018 20:27:39
Peter
Moin Matthias,
vielen Dank für Dein Gehirnjogging ...
Ich werd' das morgen mal genauso ausprobieren.
Viele Grüße
Peter
AW: Textbox mit Währungsformaten formatieren
26.10.2018 00:31:06
Ralf
Hi Peter,
Du hast in Deiner Formatangabe Komma und Punkt vertauscht. Excel verwendet intern die englische Schreibweise, also, Tausendertrenner ist das Komma, Dezimaltrennzeichen ist der Punkt.
Somit ist Deine Angabe : #.##0,00 [$zł-pl-PL]
durch diese zu ersetzen: #,##0.00 [$zl-pl-PL]
Auch musst Du darauf achten, ob Du die Texteigenschaft der Quellzelle verwenden willst (wenn die Zelle das entsprechende Währungsformat schon hat) oder den Wert (Value) wenn das Format geändert werden soll.
Bsp.:
Private Sub CommandButton1_Click()
'Hier wird die Quellzelle (A1) in Zloty formatiert
'im Beispiel steht in Zelle B1 dieses Format: #,##0.00 [$zl-pl-PL]
Tabelle1.Cells(1, 1).NumberFormat = Tabelle1.Cells(1, 2).Value
TextBox1.Text = Tabelle1.Cells(1, 1).Text 'und die Text Eigenschaft der Zelle verwendet
End Sub
Private Sub UserForm_Click()
'Hier wird der WERT der Zelle (Value - und nicht der Text!)
TextBox1.Text = Format(Tabelle1.Cells(1, 1).Value, "##,##0.00 €") 'formatieren in Euro
End Sub
Ralf
Anzeige
AW: Textbox mit Währungsformaten formatieren
26.10.2018 08:52:19
Peter
Hi Ralf,
"eigentlich" geht es mir um Deinen zweiten Teil.
In der Tabelle steht nur der Wert (ohne Formatierung) - in der textbox soll der dann mit Formatierung stehen. Und die Formatierung in Euro - wie in Deinem Beispiel - klappt auch ... mit einem anderen Format geht's leider nicht.
Ich werd's jetzt wohl so umbauen wie in Deinem ersten Teil ... ist dann ganz nah dran :-)
Vielen Dank für Deine Beschäftigung mit meinem Problem und viele Grüße
Peter
Anzeige
AW: Textbox mit Währungsformaten formatieren
26.10.2018 11:39:01
Ralf
...nun ja.... Numberformat ist halt eine Zell- und keine Textboxeigenschaft. Deshalb greift die Zellformatierung hier nicht.
Die Zeichen für Zloty, Pfund, Rubel und was weiß ich noch alles, sind ja Sonderzeichen.
Du kannst aber trotzdem Währungen in Textboxen, wie gewünscht formatieren.
Im Menü Einfügen wählst Du "Symbole" aus. In der Box sind oben 2 Listboxen. In der rechten (Subset)wählst Du Währungssymbole aus und ersetzt Deine alte Formatierung (#.##0,00 [$zł-pl-PL]) durch das entsprechende Währungssymbol. Sind leider nicht alle dabei... die fehlenden musst Du Dir halt irgenwo herauskopieren.
Nehmen wir wieder an, Du hast dieses Symbol (Bsp. £) in B1 geschrieben, dann kannst Du Deine Textbox wieder mit dem Formatbefehl formatieren:
TextBox1.Text = Format(Tabelle1.Cells(1, 1).Value, "##,##0.00 " & Tabelle1.cells(1,2))
Ralf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Textbox mit Währungsformaten formatieren


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne den VBA-Editor (ALT + F11) und erstelle eine neue Userform.

  2. Textbox hinzufügen: Ziehe eine Textbox (z.B. tb_01_02_euro) auf die Userform.

  3. Währungsformat definieren: In einer benannten Zelle (z.B. nCurrencyFormat) gib das Währungsformat ein, z.B. #,##0.00 [$zl-pl-PL] für Zloty.

  4. Wert formatieren: Verwende den folgenden Code, um den Wert in der Textbox anzuzeigen:

    ufDataInput.tb_01_02_euro.Value = Format(wksSchedule.Cells(21, lngSpalte).Value, wksStammdaten.Range("nCurrencyFormat"))
  5. Fehlerbehebung: Achte darauf, dass die englische Schreibweise von Zahlen beachtet wird; das bedeutet, dass der Tausendertrenner ein Komma und das Dezimaltrennzeichen ein Punkt ist.


Häufige Fehler und Lösungen

  • Problem: Excel Währung wird nicht angezeigt
    Lösung: Überprüfe, ob die Formatierung in der benannten Zelle korrekt ist. Bei ausländischen Währungen kann es vorkommen, dass Excel die Trennzeichen falsch interpretiert. Stelle sicher, dass du die englische Schreibweise verwendest. Ändere beispielsweise von #.##0,00 [$zł-pl-PL] zu #,##0.00 [$zl-pl-PL].

  • Problem: Fünf Nachkommastellen werden angezeigt
    Lösung: Dies kann passieren, wenn die Trennzeichen nicht korrekt sind. Nutze den Format-Befehl mit dem richtigen Währungsformat, um dies zu beheben.


Alternative Methoden

  • Verwendung von Währungssymbolen: Du kannst auch Währungssymbole in die Textbox einfügen. Gehe zu Einfügen > Symbole und wähle das entsprechende Währungssymbol aus. Ersetze dann dein Format:

    TextBox1.Text = Format(Tabelle1.Cells(1, 1).Value, "##,##0.00 " & Tabelle1.Cells(1, 2))
  • Trennzeichen anpassen: Wenn du mit verschiedenen Währungen arbeitest, kann es hilfreich sein, die Trennzeichen dynamisch anzupassen, je nachdem, welche Währung gewählt wurde.


Praktische Beispiele

  • Beispiel für Euro:

    Private Sub CommandButton1_Click()
       TextBox1.Text = Format(Tabelle1.Cells(1, 1).Value, "##,##0.00 €")
    End Sub
  • Beispiel für Zloty:

    Private Sub CommandButton2_Click()
       TextBox1.Text = Format(Tabelle1.Cells(1, 1).Value, "##,##0.00 [$zl-pl-PL]")
    End Sub

Diese Beispiele zeigen, wie du verschiedene Währungsformate in einer Textbox in Excel umsetzen kannst.


Tipps für Profis

  • Verwende Text statt Value: Wenn du die Textdarstellung einer Zelle benötigst, solltest du Text verwenden, anstelle von Value, um die formatierte Ausgabe zu erhalten.

  • Debugging: Nutze Debug.Print zur Überprüfung der Formatierung, um sicherzustellen, dass die Werte korrekt angezeigt werden.

  • Globale Einstellungen: Achte darauf, dass die Ländereinstellungen deines Excel-Programms mit den Währungsformaten übereinstimmen, um Komplikationen zu vermeiden.


FAQ: Häufige Fragen

1. Warum wird das Währungsformat nicht korrekt angezeigt?
Das kann an einer falschen Formatierung oder an den Ländereinstellungen deines Excel liegen. Überprüfe die Trennzeichen und die eingestellten Werte.

2. Wie kann ich verschiedene Währungen in einer Textbox darstellen?
Du kannst Währungsformate in einer benannten Zelle speichern und die Formatierung dynamisch in der Textbox anwenden, je nach Auswahl des Nutzers.

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