Registriert seit: 18.03.2021
Version(en): Office 365
11.05.2023, 10:21
(Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2023, 10:44 von Royalty.)
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
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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)
Registriert seit: 18.03.2021
Version(en): Office 365
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
11.05.2023, 14:07
(Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2023, 14:08 von RPP63.)
(11.05.2023, 13: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)
Registriert seit: 18.03.2021
Version(en): Office 365
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
Registriert seit: 29.09.2015
Version(en): 2030,5
11.05.2023, 17:13
(Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2023, 17:13 von snb.)
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'.
Registriert seit: 29.04.2022
Version(en): 2019 & 2021 32-Bit & 2019 mac
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.
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.
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
Registriert seit: 29.09.2015
Version(en): 2030,5
@d'r
Userform ? Combobox ?