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

Krijg userform niet meer te zien met foutmelding

Status
Niet open voor verdere reacties.

schuurar

Gebruiker
Lid geworden
15 aug 2009
Berichten
392
Ik gebruik een userform in een document.
Heb een opdrachtknop met daar aan hangen de opdracht : UserForm1.Show
Dat werkt altijd gewoon.

Nu krijg ik opeens te zien:

Fout 1004 tijdens uitvoering:
Er zijn geen cellen gevonden.


Hoe kan dit en hoe kan ik het oplossen ?
Volgens mij is er niets veranderd.
 
Bestandje zou beter zijn, maar staat er iets in het userform Activate of initialize event dat niet (meer) bestaat?
 
nee dat is het rare.
Als ik op "foutopsporing" klik kom ik in de vba en staat er :

Private Sub CommandButton9_Click()
UserForm1.Show
End Sub


Zoals het userform ook heet
 
Als de fout in een initialize event zit, zal de foutopsporing verwijzen naar het openen van het userform. Plaats de code achter je Userform eens. In ieder geval het initialize event.
 
Deze SjonR ??

Code:
Private Sub Userform_Initialize()
    ComboBox1.List = Sheets("data").Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Value
    For i = 2 To 28 Step 2
        Me("Combobox" & i).List = Sheets("data").Columns(3).SpecialCells(2).Offset(1).SpecialCells(2).Value
    Next
    For i = 3 To 29 Step 2
        Me("Combobox" & i).List = Sheets("Grondstoffen").Columns(4).SpecialCells(2).Offset(1).SpecialCells(2).Value
    Next
End Sub
 
is 1 van de kolommen leeg of staan er formules in? Plaats het document even.
 
Zo misschien van b naar B
Code:
[LEFT]Me("Combo[COLOR=#ff0000]B[/COLOR]ox" & i).List[/LEFT]
 
Plaats het bestand, dan is het zo opgelost.
 
Code:
Private Sub Userform_Initialize()
    on error resume next
    c00= "Sheet data bevat geen gegevens in kolom A"

    ComboBox1.List = Sheets("data").Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Value
    if err.number<>0 then goto XL90

    c00= "Sheet data bevat geen gegevens in kolom C"

    combobox2.list=Sheets("data").Columns(3).SpecialCells(2).Offset(1).SpecialCells(2).Value
    if err.number<>0 then goto XL90

    c00= "Sheet grondstoffen bevat geen gegevens in kolom C"

    combobox3.list=Sheets("Grondstoofen").Columns(3).SpecialCells(2).Offset(1).SpecialCells(2).Value
    if err.number<>0 then goto XL90

    For j = 4 To 29
        Me("Combobox" & j).List = Me("combobox" & +2 + j mod 2).List
    Next

XL90:
   if err.number<>0 then msgbox c00
End Sub
 
Laatst bewerkt:
Mooie code SNB !!!
Dank je wel!! Hiermee heb ik de fout kunnen achterhalen.
Blijkbaar had ik toch een kolom ingevoegd waar geen gegevens in stonden en de fout kwam.

Nu werkt alles weer !! TOP nogmaals dank.
 
Dat je daar moest zoeken was al duidelijk uit de foutmelding die je kreeg en die je in je beginpost plaatste.
 
Zoals je in mijn suggestiecode ziet is het aantal interakties met het werkblad gereduceerd van 29 naar 3.
 
Hier is On Error Goto ... voor bedacht:
Code:
Private Sub Userform_Initialize()
    on error Goto LocErr
    c00= "Sheet data bevat geen gegevens in kolom A"

    ComboBox1.List = Sheets("data").Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Value

    c00= "Sheet data bevat geen gegevens in kolom C"

    combobox2.list=Sheets("data").Columns(3).SpecialCells(2).Offset(1).SpecialCells(2).Value

    c00= "Sheet grondstoffen bevat geen gegevens in kolom C"

    combobox3.list=Sheets("Grondstoofen").Columns(3).SpecialCells(2).Offset(1).SpecialCells(2).Value
    c00 = "Onbekende fout"
    For j = 4 To 29
        Me("Combobox" & j).List = Me("combobox" & +2 + j mod 2).List
    Next
    Exit Sub
LocErr:
   if err.number<>0 then msgbox c00
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan