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

Foutmelding 91 tijdens uitvoering excel

Status
Niet open voor verdere reacties.

galletje

Gebruiker
Lid geworden
8 jun 2010
Berichten
70
Beste Forum gebruikers,

Ik heb een uitdaging, ik heb een excel file met wat data wat nogal groot is om te doorzoeken. Nu vond ik op het net een handige uitleg om een voor een zoekformulier in excel.
Dit werkt perfect, echter stel als ik data op zoekt wat niet in de datasheet voorkomt krijg ik een foutmelding 91.

Onderstaande code word hiervoor gebruikt. De debug geeft aan dat er een fout zit in de 7 regel, echter ik zie het niet. Heb op dit forum wat tips uit 2007 gelezen maar dat bied geen uitkomst.

Wat gaat hier fout.Bekijk bijlage forum vraag(1).xlsm

Private Sub Worksheet_Change(ByVal target As Range)
If target.Address = "$D$4" Then
If target = "" Then
Sheets(1).Range("D7:L7").ClearContents
Exit Sub
Else
rij = Sheets(2).Range("A2:I" & Sheets(2).Range("A" & Rows.Count).End(xlUp).Row).Find(target).Row
With Sheets(1)
.Range("D7") = Sheets(2).Cells(rij, 1)
.Range("F7") = Sheets(2).Cells(rij, 2)
.Range("H7") = Sheets(2).Cells(rij, 3)
.Range("J7") = Sheets(2).Cells(rij, 4)
.Range("L7") = Sheets(2).Cells(rij, 5)
End With
End If
End If
End Sub
 
Maar er eens dit van:

Code:
Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address = "$D$4" Then
        If target = "" Then
            Sheets(1).Range("D7:L7").ClearContents
            Exit Sub
        Else
            On Error GoTo NietGevonden
            rij = Sheets(2).Range("A2:I" & Sheets(2).Range("A" & Rows.Count).End(xlUp).Row).Find(target).Row
            With Sheets(1)
                .Range("D7") = Sheets(2).Cells(rij, 1)
                .Range("F7") = Sheets(2).Cells(rij, 2)
                .Range("H7") = Sheets(2).Cells(rij, 3)
                .Range("J7") = Sheets(2).Cells(rij, 4)
                .Range("L7") = Sheets(2).Cells(rij, 5)
            End With
            Exit Sub
        End If
        Exit Sub
    Else
        Exit Sub
    End If

NietGevonden:
    MsgBox Target.Value & " niet gevonden.", vbCritical
End Sub
 
Laatst bewerkt:
Graag gedaan :)
Ik heb net wel de code voor de msgbox iets aangepast.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan