• 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.

Combobox vullen

Status
Niet open voor verdere reacties.

HierEnNu

Gebruiker
Lid geworden
16 nov 2006
Berichten
497
Een combobox in een userform wil ik gevuld hebben met waarden die staan op een blad in de werkmap. De hoeveelheid waarden kan varieren: er kunnen waarden bijkomen en afgaan. De range (d2:d1000) is daarom ruim genomen.

Met de volgende code (en nog vele andere) heb ik geprobeerd de combobox te vullen:

Code:
[Private Sub UserForm1_Activate()

Dim r As Range
For Each r In Sheets("Blad4").Range("D2:D1000")
If r <> "" Then
    Combobox1.AddItem r.Value
End If
Next
End Sub/CODE]

Maar de comobox wordt niet gevuld met de bedoelde waarden.

Wat doe ik fout?

Groeten,

M.
 
Probeer het eens met initialize.

Code:
Private Sub UserForm_Initialize()
Dim r As Range
Dim laatsteregel As Long

laatsteregel = Sheets("Blad4").Range("D65536").End(xlUp).Row

    For Each r In Sheets("Blad4").Range("D2:D" & laatsteregel)
        If r <> "" Then
            ComboBox1.AddItem r.Value
        End If
    Next
    
End Sub

ps.
Graag je code tussen de tags plaatsen :) LOL
Just kidding
 
Laatst bewerkt:
Mocht je het toch via activate willen doen, dan met

Code:
Private Sub UserForm_Activate()
en niet via
Code:
Private Sub UserForm[B][COLOR="Red"]1[/COLOR][/B]_Activate()
 
Demeter en Spiderman,

Allebei de voorstellen werken niet.
Ik heb wel vaak problemen met de notatie Sheets("Blad4").Range("D2:D100") (als voorbeeld). Als ik dit gebruik dan krijg ik een foutmelding (1004).
Ik heb een bestandje bijgevoegd. Dan wordt het wellicht wat duidelijker.

Groeten,

M.
 

Bijlagen

Ik heb wel vaak problemen met de notatie Sheets("Blad4").Range("D2100") (als voorbeeld).
Dan moet er wel een blad zijn met de naam Blad4 :)
Houdt ook rekening mee met het gene wat Spiderman in zijn post heeft aangegeven: Code achter het userform krijgt niet de naam van het userform maar gewoon "UserForm" mee.

Probeer deze eens:
Code:
Private Sub UserForm_Initialize()
Dim r As Range
Dim laatsteregel As Long

laatsteregel = Sheets("ReservesVoorzieningen").Range("D65536").End(xlUp).Row

    For Each r In Sheets("ReservesVoorzieningen").Range("D2:D" & laatsteregel)
        If r <> "" Then
            Combobox1.AddItem r.Value
        End If
    Next
    
End Sub
 
Laatst bewerkt:
Het is gelukt. Ik heb de lijst een naam gegeven en een dynamische verwijzing. De naam vervolgens bij de comboboxeigenschappen in de row source geplaatst. Werkt prima.
Iederen bedankt voor het meedenken!

Groeten,

M.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan