Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige