Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
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
Inhaltsverzeichnis

Listbox keine Überschrift und euro wird nicht angezeigt

Listbox keine Überschrift und euro wird nicht angezeigt
08.10.2023 18:54:56
Maurice
Hallo in die Runde,
Excel macht mir keine Überschrift rein trotzdem ich ColumnHeads = True drinnen habe.
Und dann möchte ich gerne das er mir die letzten beiden Spalten nach rechts anordnet und und es im Währungsformat ausgibt in der Listbox und nicht in Zahlen.
Wie bekomme ich das bei mir hin? NumberFormat = "#,##0.00 €"

Würde mich freuen wenn mir jemand helfen kann :)


Private Sub UserForm_Initialize()

Call ListBox_DetaillierteListeBefüllen
End Sub

Private Sub ListBox_DetaillierteListeBefüllen()
Dim Zeile As Long
'Schleife über alle Zeilen der Tabelle
For Zeile = 12 To DetaillierteEinnahmenAusgaben.Cells(Rows.Count, 4).End(xlUp).Row
Me.ListBox_DetaillierteListe.AddItem DetaillierteEinnahmenAusgaben.Cells(Zeile, 4)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 1) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 5)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 2) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 6)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 3) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 7)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 4) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 8)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 5) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 9)
Next Zeile
With ListBox_DetaillierteListe
'.RowSource =
.ColumnCount = 6 'Spaltenanzahl festlegen
.ColumnWidths = "100;140;220;150;150;150" 'Spaltenbreite festlegen
.ColumnHeads = True
.ListIndex = .ListCount - 1 'markiert den letzten Eintrag in der ListBox
End With
End Sub
Private Sub TextBox_Suchen_Change()
Dim Zeile As Long
Me.ListBox_DetaillierteListe.Clear
'Schleife über alle Zeilen der Tabelle
For Zeile = 12 To DetaillierteEinnahmenAusgaben.Cells(Rows.Count, 4).End(xlUp).Row

If InStr(1, LCase(DetaillierteEinnahmenAusgaben.Cells(Zeile, 6).Value), LCase(Me.TextBox_Suchen.Value)) > 0 Or _
InStr(1, LCase(DetaillierteEinnahmenAusgaben.Cells(Zeile, 4).Value), LCase(Me.TextBox_Suchen.Value)) > 0 Or _
InStr(1, LCase(DetaillierteEinnahmenAusgaben.Cells(Zeile, 5).Value), LCase(Me.TextBox_Suchen.Value)) > 0 Then
Me.ListBox_DetaillierteListe.AddItem DetaillierteEinnahmenAusgaben.Cells(Zeile, 4)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 1) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 5)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 2) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 6)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 3) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 7)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 4) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 8)
Me.ListBox_DetaillierteListe.List(Me.ListBox_DetaillierteListe.ListCount - 1, 5) = DetaillierteEinnahmenAusgaben.Cells(Zeile, 9)
End If

Next Zeile
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox keine Überschrift und euro wird nicht angezeigt
08.10.2023 19:45:30
daniel
Hi

Sowohl die Überschrift als auch die Darstellung des Formatierten Zellinhaltes funktionieren nur, wenn du die Listbox darüber befüllst, dass du sie mit einem Zellbereich auf einem Tabellenblatt verknüpfst, indem du dessen Adresse in die Eigenschaft RowSource bzw .ListFillRange einträgst.

Bei der Befüllung über .AddItem bzw Listbox.List() = Zellwert kannst du das Zahlenformate der Zelle (die Währung) noch mitnehmen über:
.list(...) = Cells(...).Text
Aber die automatische Überschrift funktioniert dann nicht.


Da du aber keinen vollständigen lückenlosen Zellbereich übernimmst, musst du bei .AddItem bleiben.
Die Überschriften musst du dann selber erstellen, entweder über Labels oberhalb der Listbox, oder eine zweite Listbox, welche du mit den Übrrschriften in einer Zeile befüllst.
Allerdings ist es dann nicht möglich, die Überschriften synchron zur Listbox zu scrollen, falls sich ein horizontales Scrolling ergibt.

Gruß Daniel
Anzeige
AW: Listbox keine Überschrift und euro wird nicht angezeigt
08.10.2023 20:31:49
onur
Poste mal eine (Beispiels-) Datei, dann zeige ich dir eine Möglichkeit.
AW: Listbox keine Überschrift und euro wird nicht angezeigt
08.10.2023 21:03:36
GerdL
Hallo,
ich fasse zusammen.
Dim wsDEA As Worksheet


Private Sub UserForm_Initialize()
Set wsDEA = DetaillierteEinnahmenAusgaben
Call ListBox_DetaillierteListeBefüllen
End Sub


Private Sub ListBox_DetaillierteListeBefüllen()

Dim Zeile As Long

With Me.ListBox_DetaillierteListe
'Schleife über alle Zeilen der Tabelle
For Zeile = 12 To wsDEA.Cells(wsDEA.Rows.Count, 4).End(xlUp).Row
.AddItem wsDEA.Cells(Zeile, 4)
.List(.ListCount - 1, 1) = wsDEA.Cells(Zeile, 5)
.List(.ListCount - 1, 2) = wsDEA.Cells(Zeile, 6)
.List(.ListCount - 1, 3) = wsDEA.Cells(Zeile, 7)
.List(.ListCount - 1, 4) = wsDEA.Cells(Zeile, 8).Text
.List(.ListCount - 1, 5) = wsDEA.Cells(Zeile, 9).Text
Next Zeile
.ColumnCount = 6 'Spaltenanzahl festlegen
.ColumnWidths = "100;140;220;150;150;150" 'Spaltenbreite festlegen
.ListIndex = .ListCount - 1 'markiert den letzten Eintrag in der ListBox
End With

End Sub


Private Sub TextBox_Suchen_Change()

Dim Zeile As Long

With Me.ListBox_DetaillierteListe

.Clear
'Schleife über alle Zeilen der Tabelle
For Zeile = 12 To wsDEA.Cells(Rows.Count, 4).End(xlUp).Row
If InStr(1, LCase(wsDEA.Cells(Zeile, 6).Value), LCase(TextBox_Suchen.Value)) > 0 Or _
InStr(1, LCase(wsDEA.Cells(Zeile, 4).Value), LCase(TextBox_Suchen.Value)) > 0 Or _
InStr(1, LCase(wsDEA.Cells(Zeile, 5).Value), LCase(TextBox_Suchen.Value)) > 0 Then
.AddItem wsDEA.Cells(Zeile, 4)
.List(.ListCount - 1, 1) = wsDEA.Cells(Zeile, 5)
.List(.ListCount - 1, 2) = wsDEA.Cells(Zeile, 6)
.List(.ListCount - 1, 3) = wsDEA.Cells(Zeile, 7)
.List(.ListCount - 1, 4) = wsDEA.Cells(Zeile, 8).Text
.List(.ListCount - 1, 5) = wsDEA.Cells(Zeile, 9).Text
End If
Next Zeile

End With

End Sub


Gruß Gerd
Anzeige
AW: Listbox keine Überschrift und euro wird nicht angezeigt
08.10.2023 20:59:02
Maurice
Die beiden Sachen die Daniel gesagt hat habe ich so rein gemacht.
Vielen dank daniel

Wo die Währung drinnen ist müsste nur noch nach nach rechts ausgerichtet werden.
Wenn du das anders machen würdest, würde mich natürlich auch interessieren.

https://www.herber.de/bbs/user/163297.xlsm
AW: Listbox keine Überschrift und euro wird nicht angezeigt
08.10.2023 22:20:04
daniel
Wie hast du es denn gemacht?
Du kannst meines Wissens nach in der Listbox links- oder rechtsbündig nur für die gesamte Listbox einheitlich auswählen.

Wenn du beides brauchst, kannst du im Zahlenformate auch führende Leerzeichen angeben, womit dann alle Zahleneinträge die gleiche Ziffernanzahl haben und auch bei linksbündiger Ausrichtung rechtsbündig erscheinen, sofern eine Schriftart mit konstanter Zeichenbreite eingestellt ist.

Alternativ müsstest du schauen ob es in deiner Wunschschriftart ein Sonderzeichen gibt, das leer aber so breit wie eine Ziffer ist und das du verwenden kannst.

Um einen Wert auf eine feste Zeichenbreite zu bringen (hier mal 10 Zeichen mit "x" gefüllt:

Right("xxxxxxxxxx" & Cells().text, 10)

Gruß Daniel
Anzeige
AW: Listbox keine Überschrift und euro wird nicht angezeigt
09.10.2023 08:03:48
Maurice
Überschrift ist bei dir drin und auch der Code ist sehr kurz.
Für mich als Anfänger ist er sehr schwer zu lesen.
Durch die 2 Tabellen wird die suche oben sehr langsam.
Ich denke ich belasse es mit den extra Label oben.
Von GerdL der Code sieht auch sauberer aus wie meiner und suche reagiert fix, das werde ich so nehmen.

Vielen Dank an alle für eure Mühe!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige