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

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
In het voorbeeldbestand, kan je met de ComboBox een naam kiezen.
Maar je kan in de ComboBox ook een NIEUWE naam ingeven, die naam wordt dan bijgevoegd aan de namenlijst op Blad2.
Dit is allemaal OK.

Probleem:
Als het bestand voor het EERST gebruikt wordt, staan er op Blad2 nog geen namen in de namenlijst.
In de code: Userform1.Initialize()
Kan de ComboBox1.List , natuurlijk NIET ingeladen worden.
De regel: On Error Resume enz... gebruik ik liever niet.
Ik heb geprobeerd met: If ComboBox1.ListIndex = -1 enzzz........
Het lukt me niet.

Vraag:
Hoe kan ik de foutmelding vermijden, als het bestand voor het eerst gebruikt wordt, en er dus ook nog geen namen op Blad2 staan?
 

Bijlagen

  • Forum.xlsm
    27,4 KB · Weergaven: 39
Code:
Private Sub UserForm_Initialize()
    With Sheets(2)
        If Application.CountA(.Columns(1)) > 1 Then ComboBox1.List = .Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
        ComboBox1.SetFocus
    End With
End Sub
 
Code:
Private Sub UserForm_Initialize()
    If Blad1.Cells(2, 1) <> "" Then ComboBox1.List = Blad1.Cells(1).CurrentRegion.Offset(1).Value
End Sub


Als je zorgt dat combobox1 als tabindex de waarde 0 heeft (en dat is in jouw voorbeeld het geval) is Setfocus overbodig (is ie eigenlijk altijd).

Zie de bijlage voor de uitwerking.
 

Bijlagen

  • __ zo kan het ook.xlsb
    24,8 KB · Weergaven: 48
Laatst bewerkt:
Super bedankt beiden.
Het zaakje is opgelost.
Groeten Wieter
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan