Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Userform Combobox - Anzeige ich Euro ausgeben
#1
Ich habe eine Combobox die ich über UserForm_Initialize und dem Befehl ComboBox5.List =Worksheets("Eurobeträge").Range("F1:F7").Value mit Werten fülle.
Verschiedene Ansätze, diese Liste in Euro zu formatieren, führten bisher nicht zum gewünschten erfolg.

Textboxen lassen sich ja leicht mit Textbox1 = Format(Textbox1, "#,##0.00 €") formatieren

Mit der Combobox funktioniert

ComboBox5.List =Format(ComboBox5.List, "#,##0.00€")

leider nicht bzw, wird mit einer Fehlermeldung abgebrochen.

ComboBox5 = Format(ComboBox5, #,##0.00 €")

wird zwar ausageführt, formatiert die Wert aber nicht in Euro.

Gibt es eine Möglichkeit, die Werte in Euro zu formatieren?
Gruß
Royalty

Habe es selbst herausgefunden:
Geht wohl nur über dem Umweg einer Schleife:

Dim Zeile As Integer
  For Zeile = 1 To 7
  ComboBox5.AddItem Format(Cells(Zeile, 6), "#,##0.00 €")
  Next Zeile

Falls es dann doch einfacher gehen sollte, wäre ich für einen Tipp dankbar. Aber soweit gehts nun.
Gruß
Royalty
Antworten Top
#2
Moin!
Ich frage mal nicht nach dem Sinn der Übung.
Vergebe in den Eigenschaften der Combobox RowSource
Eurobeträge!F1:F7
   

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Sinn der Übung? Was ich erreichen wollte, steht doch ausführlich da.

Und letztendlich läufts ja auch so, wie ich wollte.

Mit
Vergebe in den Eigenschaften der Combobox RowSource
Eurobeträge!F1:F7

Wie würde der Syntax denn hier genau aussehen.
Wenn ich das so eingeben, bekomme ich eine Fehlermeldung.
Antworten Top
#4
(11.05.2023, 12:09)Royalty schrieb: Wie würde der Syntax denn hier genau aussehen.
Wenn ich das so eingeben, bekomme ich eine Fehlermeldung.

Code:
ComboBox1.RowSource = "Eurobeträge!F1:F7"
(oder besser so wie ich schrieb gleich in die Eigenschaft (F4 im VBE) schreiben (dann ohne die ""))

Zitat:Sinn der Übung? Was ich erreichen wollte, steht doch ausführlich da.
Du schreibst, dass Du etwas erreichen willst.
Den Grund resp. den tieferen Sinn dahinter verrätst Du jedoch nicht.

Wenn Du unbedingt ein Währungszeichen sehen willst, böte sich doch eher ein Label mit der Caption "€" direkt hinter der Combobox an?
Mit dem TEXT (ja, in CBs steht IMMER Text) "1,2345 €" kann VBA erst mal nichts anfangen.
Vielmehr sollte erst auf IsNumeric() geprüft und dann explizit mittels CCur() oder CDbl() konvertiert werden.

Aber es ist mir durchaus klar, dass für Dich ein Userform einfach professioneller aussieht.
Das Gegenteil ist der Fall!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Eine Userform sieht für mich "nicht" professioneller aus.

Ich verwende hier eine Userform, weil meine Frau, die jetzt mit Excel fürs Finanzamt arbeiten muß (hat sich selbständig gemacht), überhaupt keinen Plan von PCs hat und mit Excel und dessen Logik überhaupt nicht klar kommt.
Damit Sie die Aufstellungen fürs Finanzamt dann "richtig" macht, ohne sich groß mit Excel auseinander zu setzen, habe ich eine Userform gebaut, die "für sie" einfacher zu handhaben ist. Also keine Frage der Ästetik, vielmehr der Handhabigkeit.

Was nun meine Fragestellung angeht. Ja, ich wußte, dass Comboboxen aus Text bestehen. Und wie ich schon schrieb, wußte ich auch, dass man in TextBoxen z.B. Texte formatieren kann. Ich wußte nur nicht, wie dieses "formatieren" mit Comboboxen geht und das war hier klar die Fragestellung. Wenn man googlet, dann bekommt man verschiedene Möglichkeiten die Lösung mit

Code:
ComboBox1.RowSource = "Eurobeträge!F1:F7"

war mir bisher nicht bekannt. Vielen Dank für die etwas "leichtere" Lösung.

Gruß
Royalty
Antworten Top
#6
Aber....

Die Handhabigkeit is besser gedient von Zahlen, statt Texten (Excel ist ein Rechen'tool').
Das Eurozeichen bietet keine Mehrwert an Information und ist 100% überflüssig, also nur 'Ästhetisch'.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Grüße von Microsoft@snb ...

Zitat:Currency or Accounting?

While both the Currency format and the Accounting format can be used to correctly display monetary values, there are some differences between them, as shown in the following table.
Format
Description
ExampleCurrency
With this format:
  • The decimal points appear aligned in the column.
  • The currency symbol appears next to the first digit in the cell. (That is, it is not aligned with the other currency symbols in the column.
[Bild: 05647562-2d3d-4562-987a-ff6f600432a1.jpg]
Accounting
With this format:
  • Both the currency symbols and the decimal points appear aligned in the column.
  • Cells that contain only zeros are identified with a hyphen.
  • Negative numbers appear in parentheses.
[Bild: 81af576e-2df6-452d-8435-c2e14e59e817.jpg]

Wenn es um Übersichtlichkeit geht, sehe ich da schon einen gewissen Unterschied ...

Grüße

d`r Bastler von den VBAsteleien.de
Win 10 & 11, Office 2019 & 2021 & macOS X.15, XL 2019
Antworten Top
#8
@d'r

Userform ? Combobox ?
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste