Avatar billede boro23 Forsker
29. oktober 2021 - 14:30 Der er 4 kommentarer og
1 løsning

Ændring af VBA kode

Jeg har denne kode, som virker perfekt når mine ark ikke er arkbeskyttet. Nu er jeg blevet nødsaget at arkbeskytte (uden kode) 2 ark, så nu vil koden ikke rydde autofiltret i de beskyttede ark.
Er der en VBA ekspert der kan hjælpe med at redigere koden så den også kan rydde de beskyttede ark?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For Each ws In ThisWorkbook.Worksheets
        If ws.FilterMode = True Then
            ws.ShowAllData
        End If
    Next ws
End Sub
Avatar billede Dan Elgaard Ekspert
30. oktober 2021 - 10:05 #1
Når du beskytter dine regneark kan du tillade brugen af AutoFilter i dit beskytted ark - prøv det :-)

Hvis du beskytter dine ark med VBA kode kan du benytte UserInterFaceOnly:=True

Og, du kan naturligvis også tillade brugen af AutoFilter, når du beskytter med kode.
Avatar billede boro23 Forsker
01. november 2021 - 07:39 #2
Hej Dan
De to ark er beskyttet med brugen af autofilter.
Får stadig fejl på "ws.ShowAllData" når jeg lukker filen ned.
Avatar billede Dan Elgaard Ekspert
01. november 2021 - 08:28 #3
Hvis du beskytter arkene uden kode, kan du bruge denne:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For Each ws In ThisWorkbook.Worksheets
        If ws.FilterMode = True Then
            ws.UnProtect
            ws.ShowAllData
            ws.Protect UserInterFaceONly:=True,  AllowFiltering:=True
        End If
    Next ws
End Sub
Avatar billede boro23 Forsker
01. november 2021 - 09:01 #4
Hej Dan
1000 tak for hjælpen, virker som det skal :-)
Avatar billede Dan Elgaard Ekspert
01. november 2021 - 11:05 #5
Velbekomme :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester