Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Überschriften bei Listbox

2,302 views
Skip to first unread message

Jens Meier

unread,
Apr 29, 2010, 10:43:36 AM4/29/10
to
Hallo NG,

Kann ich die �berschriften bei einer Mehrspaltigen Listbox per VBA setzen?

GRuss,

Jens


Peter Schleif

unread,
Apr 29, 2010, 11:51:10 AM4/29/10
to
Jens Meier schrieb am 29.04.2010 16:43 Uhr:
>
> Kann ich die überschriften bei einer Mehrspaltigen Listbox per VBA setzen?

AFAIK Nein. Dazu musst Du die ListBox fest an ein Range binden.
Allerdings können dann keine Einträge mehr mit AddItem hinzugefügt
werden - also vermutlich nicht das was Du willst.

Als Workaround könntest Du Labels oberhalb der Listbox platzieren und in
der Breite auf die Spalten abstimmen.

Peter

Andreas Killer

unread,
Apr 29, 2010, 12:08:30 PM4/29/10
to
Jens Meier schrieb:

> Kann ich die überschriften bei einer Mehrspaltigen Listbox per VBA setzen?
Jein, also nicht wie Du denkst.

Die Spaltenüberschriften bekommst Du nur wenn die Quelle der Daten in
einer Tabelle liegt und Du diese mit RowSource zuordnest. Dann liest
die Listbox die Zeile über den Daten als Überschriften ein.

Also könntest Du nur die Überschriften in der Tabelle ändern. %-)

Andreas.

Private Sub UserForm_Initialize()
Dim I As Integer, J As Integer
For J = 1 To 9
For I = 1 To 3
Cells(J, I) = _
IIf(J = 1, "Überschrift " & I, "Daten " & I * J - 1)
Next
Next
ListBox1.ColumnHeads = True
ListBox1.ColumnCount = 3
ListBox1.RowSource = Range("A2", Cells(9, 3)).Address
End Sub

Andreas Killer

unread,
May 1, 2010, 5:49:03 AM5/1/10
to
Jens Meier schrieb:

> Kann ich die ᅵberschriften bei einer Mehrspaltigen Listbox per VBA setzen?
Mir ist grad noch was eingefallen, Du kᅵnntest statt der ListBox ein
ListView nehmen, in dem Teil kannst Du ᅵberschriften mit VBA setzen.

Wenn Du im VBA-Editor eine Userform eingefᅵgt hast einen Rechtsklick
auf das Fenster "Werkzeugsammlung" in einer Registerkarte und wᅵhle
"Zusᅵtzliche Steuerelemente".

Klick in die erscheinende Liste, drᅵck "m" und scroll noch etwas
runter bis zu "Microsoft ListView Control" und mach ein Kreuzchen
davor. Ok klicken nich vergessen. .-)

Mach die Userform schᅵn groᅵ und zieh Dir das ListView auf die Form,
auch schᅵn groᅵ.

Andreas.

Private Sub Userform_Initialize()
Const Spalten = 4
Const Zeilen = 6


Dim I As Integer, J As Integer

Dim LSI As ListItem
With ListView1
'ᅵberschriften hinzufᅵgen
With .ColumnHeaders
.Clear
For I = 1 To Spalten
.Add , , "ᅵberschrift " & I
Next
End With
.View = lvwReport

'Daten hinzufᅵgen
With .ListItems
For I = 1 To Zeilen
Set LSI = .Add(, , "Daten " & I)
With LSI
For J = 1 To Spalten - 1
.SubItems(J) = "Text " & I & "-" & J
Next
End With
Next
End With
End With
End Sub

0 new messages