Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlenformat in Listbox

Zahlenformat in Listbox
20.02.2008 10:59:00
Frederic
Hi Experten,
ich hätt eine Frage:
Ich fülle eine Listbox (nicht über RowSource) aus einer Tabelle("Liste") Bereich, A1:H3000
Hierin enthalten sind Spalten mit Text, Datum und 3 mit Werten.
Meine Listbox zeigt mir die Zahlen aber unformiert an, z.B. 99 | 1009,95 etc.
Ich würde sie gerne formatiert anzeigen lassen.
Im Archiv bin ich leider auch nicht fündig geworden, da diesbezüglich so gut wie keine Einträge vorhanden sind.
Habt ihr einen Rat? Anbei mein Code für das Füllen und Anzeigen der Listbox:

Private Sub Aktualisieren_Click()
Dim vntArr
With Sheets("Liste")
vntArr = .Range(.Cells(7, 8), .Cells(65536, 1).End(xlUp))
End With
With Me.ListBox1
.ColumnCount = UBound(vntArr, 2)
.List = vntArr
End With
'Zuweisen der Spaltenanzahl
'Me.ListBox1.ColumnCount = 8
'Zuweisen der Spaltenbreite in Pt
'1 cm ~ 28,3 Pt
Me.ListBox1.ColumnWidths = "56,6; 120; 80; 80; 80; 80; 200; 40"
Me.ListBox2.List() = Sheets("Liste").Range("a1:h1").Value '- DAS IST DIE KOPFZEILE!!!!
'Zuweisen der Spaltenanzahl
Me.ListBox2.ColumnCount = 8
'Zuweisen der Spaltenbreite in Pt
'1 cm ~ 28,3 Pt
Me.ListBox2.ColumnWidths = "56,6; 120; 80; 80; 80; 80; 200; 40"
End Sub


Gruß
Frederic

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformat in Listbox
20.02.2008 11:05:09
Hajo_Zi
Hallo Frederik,
benutze nicht Value sondern Text

AW: Zahlenformat in Listbox
20.02.2008 11:10:00
Frederic
Hallo Hajo,
danke für die Info...
Wenn ich aber VALUE durch TEXT ersetze, krieg ich den Fehler:
Eigenschaft LIST konnte nicht gesetzt werden.
Muss ich überall, wo ich VALUE verwendet habe, diese durch TEXT ersetzen?
Ich hab wiegesagt nur im o.g. Code ersetzt.
Sorry, aber so fit bin ich in VBA noch nicht :-)
Danke Frederic

AW: Zahlenformat in Listbox
20.02.2008 11:13:36
Nepumuk
Aber Hajo,
du kannst doch die Texteigenschaft eine Bereiches nicht in ein Array einlesen.
Wobei ich mich wirklich frage, warum Frederic den Umweg über ein Array geht. Da wird weder was gelöscht, noch umsortiert noch sonst irgendwas gemacht mit den Daten. Na ja, außer die Formate, die werden natürlich durch das einlesen in ein Array entfernt.
Das hat zur Folge, dass er das Variantarray komplett durchlaufen und dabei jeden Wert einzeln formatieren müsste.
Gruß
Nepumuk

Anzeige
AW: Zahlenformat in Listbox
20.02.2008 11:13:06
Rudi
Hallo,
Listboxen beinhalten Text. Du musst erst in deinem Array formatieren.
nach dem Motto:
for i=1 to ubound(vntarr)
vntarr(i,1)=format(vntarr(i,1),"#,##0.00")
vntarr(i,2)=format(vntarr(i,2),"#,##0.00")
next i
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Zahlenformat in Listbox
20.02.2008 11:18:00
Frederic
Danke für die Hilfe Rudi,
wo muss ich "i" noch deklarieren? Einfach in den Code einbauen geht nicht, ich muss doch erst die Variable noch definieren oder? Wo mach ich das nochmal?
Sorry für die vielen Kühe :-)
Gruß Frederic

AW: Zahlenformat in Listbox
20.02.2008 11:31:00
Rudi
Hallo,
da, wo du vntArr auch deklariert hast.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Zahlenformat in Listbox
20.02.2008 11:38:19
Frederic
Ja ich habs jetzt:
Dim i
hab jetzt folgenden Code, verändert hat sich an den Formaten allerdings leider nicht:

Private Sub Aktualisieren_Click()
Dim i
Dim vntArr
With Sheets("Liste")
vntArr = .Range(.Cells(7, 8), .Cells(65536, 1).End(xlUp))
End With
With Me.ListBox1
.ColumnCount = UBound(vntArr, 2)
.List = vntArr
End With
'Me.ListBox1.List() = Sheets("Liste").Range("a7:h3000").Value
'Zuweisen der Spaltenanzahl
'Me.ListBox1.ColumnCount = 8
'Zuweisen der Spaltenbreite in Pt
'1 cm ~ 28,3 Pt
Me.ListBox1.ColumnWidths = "56,6; 120; 80; 80; 80; 80; 200; 40"
Me.ListBox2.List() = Sheets("Liste").Range("a1:h1").Value
'Zuweisen der Spaltenanzahl
Me.ListBox2.ColumnCount = 8
'Zuweisen der Spaltenbreite in Pt
'1 cm ~ 28,3 Pt
Me.ListBox2.ColumnWidths = "56,6; 120; 80; 80; 80; 80; 200; 40"
For i = 1 To UBound(vntArr)
vntArr(i, 1) = Format(vntArr(i, 1), "#,##0.00")
vntArr(i, 2) = Format(vntArr(i, 2), "#,##0.00")
vntArr(i, 3) = Format(vntArr(i, 3), "#,##0.00")
Next i
End Sub


Wo liegt noch mein Fehler?
Leider noch nicht so fit in VBA, aber ich denke es wird langsam...
Gruß Frederic

Anzeige
AW: Zahlenformat in Listbox
20.02.2008 11:45:00
Rudi
Hallo,
du musst erst das Array formatieren, dann der .list-Eigenschaft zuweisen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Zahlenformat in Listbox - ERLEDIGT!
20.02.2008 11:51:00
Frederic
Danke für die vielen Kühe RUDI!!! Es funzt perfekt!!!
Tausend Dank, wieder etwas dazugelernt...:-)
Frederic

AW: Zahlenformat in Listbox - Alternative
20.02.2008 12:01:22
Erich
Hallo
vielleicht dauerts etwas länger, dafür musst du nicht mehr im Array formatieren,
was im Tabellenblatt schon formatiert ist:

Option Explicit
Private Sub Aktualisieren_Click()
Dim lngR As Long, intC As Integer, lngNr As Long
Me.ListBox1.ColumnCount = 8      'Zuweisen der Spaltenanzahl
Me.ListBox2.ColumnCount = 8
'Zuweisen der Spaltenbreite in Pt
'1 cm ~ 28,3 Pt
Me.ListBox1.ColumnWidths = "56,6; 120; 80; 80; 80; 80; 200; 40"
Me.ListBox2.ColumnWidths = "56,6; 120; 80; 80; 80; 80; 200; 40"
With Sheets("Liste")
For lngR = 7 To .Cells(.Rows.Count, 1).End(xlUp).Row
ListBox1.AddItem .Cells(lngR, 1).Text
lngNr = ListBox1.ListCount - 1
For intC = 2 To 8
ListBox1.List(lngNr, intC) = .Cells(lngR, intC).Text
Next intC
Next lngR
Me.ListBox2.List() = .Range("a1:h1").Value '- DAS IST DIE KOPFZEILE!!!!
End With
End Sub

Ist das richtig, dass Zeile 1 die Kopfzeile ist und die Daten in Zeile 7 beginnen?
Für die Kopfzeile habe ich Value stehen lassen - sind vermutlich Texte?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
DANKE!!! Zahlenformat in Listbox - Alternative
20.02.2008 12:41:13
Frederic
Funzt genauso - DANKE auch dir für deine Hilfe!
Es führen viele Wege nach Rom.... :-)
Danke Euch allen wieder mal für Eure Hilfen...
Frederic

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige