• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Data laden in Combobox zonder witregels

Status
Niet open voor verdere reacties.

erpee

Gebruiker
Lid geworden
21 jan 2009
Berichten
118
In het voorbeeld moet een combobox geladen worden met de data uit kolom C
Ik krijg het wel voor elkaar met :
Code:
cmbGebruiker.List = [gebruikers!C2:C25].Value
Maar ja, die range kan kleiner maar als er dan weer namen bijkomen .... pfff... het moet dus wat dynamischer.

Al vele scripts geprobeerd maar het lukt me niet de lijst te laden zonder witregels aan het eind

Wat moet ik anders doen?


PS Alle namen zijn volledig fictief
 

Bijlagen

Als je alleen voor kolom C een tabel gebruikt, maak je het jezelf wel lastiger. Onderstaande zou moeten werken.

Code:
cmbGebruiker.List = Range("A2", Range("A2").End(xlDown)).Offset(, 2).Value
 
Handiger is het als je ce complete tabel omzet naar een tabel, en niet alleen je samengevoegde kolom. Dan hoef je namelijk geen extra formules in kolom C te zetten, en loopt de handel dus ook niet uit de pas. In bijgaand bestand had ik dat eerst niet in de gaten, dus heb ik eerst een dynamische namenlijst gemaakt die de namen zou moeten laten zien. Dat werkte niet, omdat je al formules in de tabel had gezet. Die er dus uitgegooid, en nu werkt het prima.
 

Bijlagen

of.
Code:
cmbGebruiker.List = Sheets("gebruikers").ListObjects(1).ListColumns(3).DataBodyRange.Value
 
Beide werken mooi, waar voor mijn Dank.

@JEC.
Jij schrijft:
Code:
cmbGebruiker.List = Range("A2", Range("A2").End(xlDown)).Offset(, 2).Value
Wat ik nu niet begrijp (vergeef mijn kennisgebrek...) is dat je het hebt over A2, terwijl de data in kolom C staat. Hoe werkt dat?
 
dat komt door de .Offset(,2) in de code
 
En die heb je nodig omdat je dus niet met een 'fatsoenlijke' tabel werkt, maar met een tabel op basis van de derde kolom, waarin je veel te veel formules hebt gezet. Waardoor je cellen dus niet als leeg worden gezien. Dat los je prima op door een tabel te gebruiken met alle kolommen. Dan wordt automatisch bij een nieuwe rij ook je formule mee gekopieerd. Probeer dat soort technieken eerst eens uit voordat je naar slechte workarounds grijpt :).
 
Of met een verschuiving...
Zie simpel kort voorbeeld, formule dient nog iets te worden aangepast...Huiswerk.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan