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

VBA: foutmelding na Sheets.Protect userinterfaceonly:=true

Status
Niet open voor verdere reacties.

RoCompy87

Gebruiker
Lid geworden
13 nov 2006
Berichten
284
Hallo,

Hieronder een stukje VBA-code. De laatste regel van blad 6 (en elk ander blad) kan gewoon gevonden worden. Zodra ik de laatste regel van blad 3 wil weten, krijg ik de volgende foutmelding: "Fout 91 tijdens uitvoering: Objectvariabele of blokvariabele With is niet ingesteld" Waarom krijg ik deze foutmelding, want ik heb geen idee meer waar ik het antwoord moet zoeken.
Als ik een waarde probeer op te halen van blad 3 (bijvoorbeeld MsgBox Sheets(3).[e22]), dan lukt dat wel.

Code:
For r= 1 To Worksheets.Count
        Worksheets(r).Protect userinterfaceonly:=True
        Worksheets(r).EnableSelection = xlUnlockedCells
    Next r
MsgBox Worksheets(6).Cells.Find(what:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
MsgBox Worksheets(3).Cells.Find(what:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row

Alvast bedankt voor het meedenken!
 
SearchOrder moet voor SearchDirection geplaatst worden.

Code:
MsgBox Worksheets(3).Cells.Find(what:="*", [COLOR="red"]SearchOrder:=xlByRows, SearchDirection:=xlPrevious[/COLOR]).Row
of
Code:
MsgBox Worksheets(3).Cells.Find("*").Row
 
Nee, dat helpt helaas niet. Alle sheets zijn beveiligd met userinterfaceonly, en op alle sheets kan VBA probleemloos zoeken naar de laatste rij, maar op sheet 3 geeft het een foutmelding, behalve als ik het sheet eerst unprotect. Echt vreemd :confused:
 
Kun je het bestandje hier plaatsen?
 
In verband met gevoelige informatie heb ik het bestand even helemaal 'uitgekleed'. Ik heb er een macro ingezet die de werkbladen beveiligt, en daarna voor elk blad moet nagaan op welke rij een waarde voorkomt. Bij blad 3 loopt de macro vast.

Ik ben heel benieuwd! :)
 

Bijlagen

Ik heb geen idee waarom het alleen op die tabblad fout gaat, maar onderstaande werkt goed bij mij.
Code:
MsgBox sh.Index & " ==> " & sh.Cells.Find("*", , xlValues).Row
 
Ja, lookin:=xlvalues werkt inderdaad wel. Dank je wel voor het meedenken!!! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan