Home Artikelen Index Links Nieuwsbrief

This page in EnglishHome > Artikelen Index > Listbox Passend Maken >

Kolom breedtes in een ListBox automatisch aanpassen

Hoe het aanpassen in zijn werk gaat

Verschillende mensen hebben een truc bedacht om de kolom breedtes te bepalen. Sommigen gebruiken constanten, waarmee het aantal te tonen karakters wordt vermenigvuldigd. Deze truc werkt echter niet betrouwbaar omdat de schermresolutie en het lettertype invloed hebben op het resultaat.
De beste methode die ik ken gebruikt een (verborgen) label op het formulier met de AutoSize eigenschap op waar. De label moet hetzelfde lettertype hebben als de listbox. Na veranderen van de tekst van de label, kan de breedte van de label worden afgelezen. Die breedte wordt vervolgens gebruikt als kolombreedte.

De Functie SetWidths op het codevenster van het userform (zoals te zien op de vorige pagina) verzorgt het instellen van de kolombreedtes. Een matrix van de grootste tekst lengtes per kolom wordt aan deze functie doorgegeven. Vervolgens wordt voor iedere kolom de "caption" van het label voorzien van dat aantal karakters. Ik gebruik daarbij steeds hetzelfde karakter en omdat het lettertype vaak proportioneel is gebruik ik een letter die traditioneel een grote breedte heeft, de m. Die letter bepaald dus in grote mate de resulterende breedte. Tenslotte worden de gevonden breedtes achter elkaar gezet gescheiden door een ; en aan de "ColumnWidths" eigenschap doorgegeven van de listbox.

Het is belangrijk de eigenschappen van het label juist in te stellen; WordWrap moet Onwaar zijn en AutoSize Waar.

Het eindresultaat ziet er zo uit:

Niet slecht!?

 


 


Vragen, suggesties en opmerkingen

Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.

Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: excelexperts.nl/forum/index.php.

Uw naam (verplicht veld):

Uw e-mail adres (Niet verplicht, dit adres wordt alleen gebruikt om u te informeren wanneer uw commentaar geplaatst wordt)

Uw verzoek of commentaar (max 2000 karakters):

Als u VBA code in uw commentaar plaatst, gebruik dan [VB] tags: [VB]Uw code[/VB].

Ik geef toestemming voor de verwerking van deze gegevens en voor de weergave van mijn naam en commentaar op deze website conform ons privacy beleid.