Avatar billede CHC Forsker
13. november 2017 - 13:10 Der er 13 kommentarer og
1 løsning

Beskyt ark, men knap kan derefter ikke bruges

Hej

Jeg har et Ark1, hvor jeg kan sætte flueben i nogle checkbokse, hvorefter en tilhørende celle ændrer status fra "Ikke gyldig" til "Gyldig".

På Ark2 har jeg en knap, som ved aktivering viser alle de "gyldige" rækker fra Ark 1.

Problemet er, at når jeg beskytter arket kan ovenstående knap i Ark2 ikke bruges. (Fejl: Run-time error '1004': Metoden AutoFilter fro klassen Range mislykkedes.)

Jeg har et par andre knapper til udskrift og gem som pdf, som fortsat virker.

Er der nogle gode løsninger? Forklaringen er vel, at når arket er låst kan der ikke filtreres.

Vh CHC
Avatar billede Slettet bruger
13. november 2017 - 13:30 #1
Når du beskytter arket, skal du rulle ned og sætte hak/fluebenet ved "brug autofilter" - det bør gør at du kan bruge filter
Avatar billede CHC Forsker
13. november 2017 - 13:44 #2
Hej Thomas

Tak for dit bud, men det virker desværre ikke.

Vh CHC
Avatar billede Slettet bruger
13. november 2017 - 13:49 #3
og du beskytter ark1 eller 2? eller hele projektmappe?
Avatar billede CHC Forsker
13. november 2017 - 13:56 #4
Ark 2, da der skal kunne ændres i Ark1.
Avatar billede Dan Elgaard Ekspert
13. november 2017 - 15:41 #5
Bruger du 'ActiveSheet'?

Hvis knappen er på 'Ark1', men skal virke på 'Ark2', så kan du ikke benytte 'ActiveSheet'.

Forudsat, at kodenavnet (ikke fanenavnet) på dit 'Ark2' er 'Ark2', så kan du gøre følgende...

I den makro, der kører, når du trykker på knappen, sætter du denne linje ind, som første linje i makroen:

Ark2.UnProtect

Som sidste linje i makroen indsætter du denne linje:

Ark2.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterFaceOnly:=True, AllowFiltering:=True
Avatar billede CHC Forsker
14. november 2017 - 15:16 #6
Hej Dan

Tak for svaret.

Jeg har indsat ovenstående, men får flg. fejl: "Compile error: Syntax error"

Ark2 hedder nu Projekt, men det ændrer vel ikke noget. Skal koden så være flg. eller skal der angives noget sheet... foran "Projekt":

Sub Gyldig()

  Projekt.Unprotect
    Selection.AutoFilter Field:=9, Criteria1:="Gyldig", Operator:=xlOr, _
        Criteria2:="-"
  Projekt.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterFaceOnly:=True, AllowFiltering:=True
   
End Sub
Avatar billede Dan Elgaard Ekspert
14. november 2017 - 18:51 #7
Er du HELT sikker på, at det er kodenavnet, der er 'Projekt' og ikke selve fane navnet?

Hvilken linje giver syntaks fejl?
Avatar billede CHC Forsker
16. november 2017 - 12:38 #8
Hej Dan

Det lykkedes mig ikke, at få ovenstående til at virke, men nedenstående gør:

Sub Gyldig()

    With ActiveWorkbook.Worksheets("Projekt")
        .Unprotect
        Selection.AutoFilter Field:=9, Criteria1:="Gyldig", Operator:=xlOr, Criteria2:="-"
        .Protect
    End With
   
End Sub

Det var linjerne, som starter med "Projekt", som gav fejlene.

...men tusind tak for indsatsen. Kan din VBA-viden klones og deles? :-)
Avatar billede Dan Elgaard Ekspert
16. november 2017 - 13:33 #9
Ja, lav du bare alle de kloner og kopier af koden, som du ønsker :-)

Men, jeg er stadigvæk lidt interesseret i, hvilken kodelinje, der gav syntaks fejl?
Det kunne jo tyde på, at det er vmin ".Protect" linje, der giver fejl, hvis li9njen virker uden argumenter - og, så vil jeg da gerne lige vide, hvilket argument, jeg har ramt forkert?
Avatar billede CHC Forsker
17. november 2017 - 08:48 #10
Hej Dan

De to linjer, som begynder med "Projekt" var markeret med rød skrift.

Projekt.Unprotect

Projekt.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterFaceOnly:=True, AllowFiltering:=True

Giver det mening?
Avatar billede Dan Elgaard Ekspert
23. januar 2018 - 08:48 #11
Husk lige, at markere spørgsmål som besvaret...
Avatar billede Dan Elgaard Ekspert
23. januar 2018 - 12:00 #12
Ikke helt fair, at du har markeret dig selv som svar, når nu løsningen er præcist, hvad jeg gav:

At 'Projekt' IKKE var kode navnet (du benytter jo ark navnet .Worksheets("Projekt"))
Det var jo det jeg skrev: Er du HELT sikker på, at det er kodenavnet?!?
Og, du spørger endda om du må bruge min kode.

Og, så tildeler du blot dig selv løsningen!
Avatar billede CHC Forsker
23. januar 2018 - 12:11 #13
Sorry, har trykket forkert - er rettet. :-)
Avatar billede Fendy Praktikant
02. december 2019 - 11:38 #14
Hej

Jeg har nogenlunde samme problem som jeg ikke kan får løst.
Jeg har oprettet en knap på mit ark som jeg har tildelt et "rense layout" makro så den kan slette de inputs man indsætter i cellerne. når jeg beskytter arket får jeg en fejlmeddelelse 1004 der siger at denne ark er beskyttet og at jeg skal fjerne beskyttelsen først.

Jeg har prøvet ovenstående løsning med at indsætte koderne ind i den eksisterende makro/modul dog lykkedes det mig ikke.
Jeg er ikke ekspert til excel.

Kan i muligvis hjælpe?
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