Einzelne Listboxspalten ausblenden (VBA)

Martin Asal @, Montag, 01.06.2020, 09:32 (vor 33 Tagen) @ Neuling001

Hi,

was du brauchst, ist nicht Listbox.ColumnWidth, sondern Listbox.ColumnWidths ;-)

Die Breiten (Plural!) der einzelnen Spalten werden ja in der Entwurfsansicht des Formulars mit der Eigenschaft "Spaltenbreiten" bestimmt. Das ist ein String, der ungefähr so aussehen kann:

4cm;3cm;2cm;1cm;3cm;2cm;1cm

Eine einzelne Spalte kannst du ganz einfach ausblenden, indem du die Breite auf "0cm" setzt. Du könntest also auf dem Formular Umschaltflächen die den String manipulieren. Würde es nur um eine einzige Spalte gehen, wäre das hier die Lösung:

Private Sub Umschaltfläche_AfterUpdate()
If Me.Umschaltfläche = True Then
    Me.Liste.ColumnWidths = "4cm;3cm;2cm"
Else
    Me.Liste.ColumnWidths = "4cm;0cm;2cm"
End If
End Sub

In deinem Fall wird es minimal aufwendiger, weil du sieben Umschaltflächen brauchst, und wenn eine davon gedrückt wird, musst du jeweils den aktuellen Status aller sieben Umschaltflächen abfragen. Aber das solltest du hinbekommen :-)

Martin


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum