Kolomkoppen plaatsen in Listbox

Status
Niet open voor verdere reacties.

JJZijlstra

Gebruiker
Lid geworden
26 nov 2013
Berichten
299
Beste lezer(s),

Graag wil ik een Listbox maken in een Userform.
Voor de juiste instellingen hiervoor ga ik nu niet de ‘Properties’ gebruiken, maar ik zou graag de module geheel (handmatig) zelf willen schrijven. (dat leert namelijk het beste).

In het bijgevoeged bestandje “Test” ben ik begonnen met “Private Sub UserForm2_initialize()” en vervolgens “With Me.ListBox1”
De bedoeling bovenaan in de listbox kolomkoppen geplaatst moeten worden, maar ik kan nergens de “ColumnHeaders” vinden wanneer ik de punt heb getypt, ook niet nadat ik van tevoren de RowSource en Columnheads heb ingesteld.
Wat heb ik fout gedaan? Wat zou ik nog verder moeten doen?
Graag hoor ik.

Groet,
Johan
 

Bijlagen

Laatst bewerkt:
Je had om te beginnen je namenrange verkeerd gemaakt. En zonder waarden heb je natuurlijk al helemaal geen bereik, alleen koppen die dan als waarde worden beschouwd.
 

Bijlagen

Beste OctaFish,

Allereerst bedankt voor je antwoord. Dat werkt nu goed.

Kun je de kolomwijdte ook aanpassen voor elke kolom apart, bv. de kolombreedte van Achternaam = 50, die van postcode 25.
Hoe geef ik dat hier aan?

Groet,
Johan
 
Krijg je dit:
Code:
        .ColumnWidths = "2cm;4cm"
etc.
 
En om het hele proces op te leuken, kun je ook de breedte van de bestaande keuzelijst als factor gebruiken.
Code:
    With Me.ListBox1
        .ColumnHeads = True
        .ColumnCount = 2
        .RowSource = Range("Namen").Address
        .ColumnWidths = (.Width - 10) * 2 / 3 & ";" & (.Width - 10) * 1 / 3
    End With
 
Hartelijk dank tot zover.

.ColumnWidths = (.Width - 10) * 2 / 3 & ";" & (.Width - 10) * 1 / 3

Waar staan de getallen voor? Zijn dat cm ?
Bestaat er ook de mogelijkheid om de kolomkoppen vanuit de ListView zelf met de muisknop breder of smaller te maken?

Groet,
Johan
 
Ik lees de breedte van de keuzelijst uit met .width. Als ik die waarde gebruik om de kolombreedte in te stellen, (* 2/3 en * 1/3) dan blijken de kolommen nét iets breder te worden dan de keuzelijst, en krijg je alsnog een horizontale schuifbalk. Om dat te voorkomen verlaag ik de breedte met 10 punten.
De breedte wordt met de waarde 3 overigens ook al goed uitgerekend; het getal 10 was een gokje :). Kleinere waarden (1 en 2 dus) leveren alsnog een schuifbalk op.
 
Opnieuw mijn dank voor je antwoord.

Nog een vraagje:
Kun je ook een titel boven de kolomkoppen in listbox zetten?
Zo ja, hoe dan?

Groet,
Johan
 
Kijk nog eens goed naar de code in #5. De headers doen het alleen als je Rowsource gebruikt, anders krijg je ze niet gevuld. Workaround: labels boven de listbox plaatsen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan