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.

ListBox Einzelene Spalten formatieren
#1
Hallo Zusammen

Ich habe ein Problem, bei dem ich mich nun schon Stunden ab bemühe und mich durchlese wie ein wilder.
Komme aber einfach nicht weiter.

Ich habe eine UserForm mit einer ListBox.

Die ListBox hat folgende Eigenschaften gesetzt:
ColumnCount = 6
ColumnWidths = 0 Pt;141.75 Pt;49 Pt;49.95 Pt;70 Pt;100 Pt

Ich befühlle die Liste über den Code: 

ListBox1.List = Sheets("ListBoxDaten").Range("DatenList").Value

Dies funktioniert auch wunderbar.

Nun möchte ich jedoch in der ListBox, Column 5 und 6 so formatieren, dass diese den Wert im Format CHF #,##0.00 anzeigen.

Kann man der Listbox überhaupt einen solchen Globalen Wert in eine Spalte übergeben oder Sie so vor formatieren?

Ich stelle mir das so vor, wie ich die Spalten in einer Tabelle auf einem Tabellenblatt formatieren kann Undecided

Ich weis nicht ob dies wichtig ist, erwähne es vorsichtshalber trotz dem:
In der Range "DatenList" sind die Spalten E und F mit einer Formel beschrieben, welche mir dann den gewünschten Wert liefern.

Habe gelesen, dass man die Werte auch mit .Text in die Listbox übergeben könnte. Dies funktioniert in meinem Fall jedoch nicht, da er mir dann die Formeln in die ListBox überträgt.


Ich hoffe mein Anliegen ist verständlich.
Besten Dank für eure Hilfe.

Gruss
Demech
Antworten Top
#2
Hi

Direkt geht das nicht.

Nur so.
https://www.herber.de/forum/archiv/1144t...stBox.html

oder mit der RowSource-Eigenschaft arbeiten.

PS: Habe noch mal etwas versucht.
ListBox1.List = Application.Index(Range("A1:B2").Value, 0, 0)        'zeigt recht interessantes Verhalten zumindest bei Euro

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Demech
Antworten Top
#3
Moin!
Ergänzend sei noch erwähnt, dass sowohl das "C" als auch "H" im Format-String vorbelegt sind.
Daher müssen diese Buchstaben des "CHF" mittels Backslash maskiert werden, sonst kommt nur Müll heraus:
.AddItem Format(Tabelle1.Range("F1").Value, "\C\HF #,##0.00")

Andere Möglichkeit:
Übergebe die .Text-Eigenschaft, wenn der Zellinhalt bereits wie gewünscht formatiert ist:
.AddItem Tabelle1.Range("F1").Text

… und noch ein Gedicht:
Wenn Du ohnehin im Schweizer Gebietsschema unterwegs bist, kann man eine unformatierte Zahl auch so umwandeln:
.AddItem Format(Tabelle1.Range("F1").Value, "Currency")

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)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Demech
Antworten Top
#4
Hallo Zusammen

Besten Dank für die Hinweise und Tipps von euch.

Bin noch am Proben:

Zu: ListBox1.List = Application.Index(Range("ListDaten").Value, 0, 0) 
Funktioniert perfekt. Danke



Zu: ListBox1.AddItem Format(Tabelle4.Range("ListDaten").Value, "Currency")
Hier kriege ich eine Typenunverträglichkeit. Liegt jedoch wohl am Rest des Codes welchen ich verwende.

Verwende ich die RowSource schmiert mir Excel immer wieder ab.

Danke euch auf jeden Fall. Habe jetzt ein paar Dinge zu büffeln.
Werde die Tipps ausprobieren um zu lernen.

Danke euch
Antworten Top


Gehe zu:


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