Clever-Excel-Forum

Normale Version: ListBox Einzelene Spalten formatieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
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
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
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