Fout in macro bij for-next loop

Status
Niet open voor verdere reacties.

Kiingfisher

Nieuwe gebruiker
Lid geworden
29 apr 2023
Berichten
2
In bijgaande macro gaat alles goed, tot voor de 2e keer , in de for-next loop een inlogcode moet worden opgezocht.
Er komt de mededeling "Fout 91 tijdens uitvoering: Objectvariabele of blokvariabele With niet ingesteld."
Waarom bij de eerste 'Poging' geen foutmelding, en bij de 2e poging, met dezelfde regels, wel een foutmelding?
 

Bijlagen

  • MacroAanmelden.JPG
    MacroAanmelden.JPG
    132,2 KB · Weergaven: 17
  • Foutmelding Macrpo.JPG
    Foutmelding Macrpo.JPG
    18,5 KB · Weergaven: 10
Plaats die code niet als plaatje maar als tekst in codetags.
Vertel er ook bij op welke regel die foutmelding ontstaat.

Nog beter is een voorbeeld document waarin ook voorbeelden staan van die inlogcodes.
 
Laatst bewerkt:
Hierbij de code als tekst:
Sub Aanmelden()
Application.ScreenUpdating = False
For Pogingen = 1 To 3
Message = "Vul je inlogcode in" & Chr(13) & Chr(13) & _
"3 pogingen" & Chr(13)
Title = "INLOGCODE Jae"
Code = InputBox(Message, Title)
NaamAccepteren:
On Error GoTo Foutmelding

Bij de 2e 'Poging' gaat het hieronder fout, als de opgegeven 'Code' niet gevonden wordt in een verticale rij Inlogcodes
Dan komt de foutmelding
"Fout 91 tijdens uitvoering
Objectvariabele of blokvariabele is niet ingesteld"

Range("Inlogcodes").Select
Selection.Find(What:=Code, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
MyNaam = ActiveCell.Offset(0, -1).Value
NaamBevestigen:
Foutmelding:
Message = "Volgende poging van 3 pogingen." & Chr(13) & Chr(13)
Style = vbOKOnly
Title = "INFO Jae"
Response = MsgBox(Message, Style, Title)
Next Pogingen
Message = "Uitvoering van de opdracht is gestopt na 3 pogingen." & Chr(13) & Chr(13) & _
""
Style = vbOKOnly
Title = "INFO Jae"
Response = MsgBox(Message, Style, Title)
Klaar:
End Sub
 
Dat staat nog niet in codetags.
Het gaat om leesbaarheid en iinspringpunten.
Lees de link in mijn handtekening.
Plaats ook een document met een voorbeeld van die Inlogcodes.

Maar omdat je nieuw bent, doe het eens zo:
Code:
Sub Aanmelden()
    Message = "Vul je inlogcode in" & Chr(13) & Chr(13) & _
    "3 pogingen" & Chr(13)
    Title = "INLOGCODE Jae"
    
    For Pogingen = 1 To 3
        code = InputBox(Message, Title)
        If code <> "" Then
            Set c = Range("Inlogcodes").Find(code, , , xlWhole)
            If Not c Is Nothing Then
                MsgBox "Naam is: " & c.Offset(0, -1).Value
                Exit Sub
            End If
        Else
            Exit Sub
        End If
        MsgBox "Volgende poging van 3 pogingen.", vbOKOnly, "INFO Jae"
    Next Pogingen
        
    MsgBox "Uitvoering van de opdracht is gestopt na 3 pogingen.", vbOKOnly, "INFO Jae"
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan