Avatar billede KlavsT Novice
13. marts 2018 - 11:42 Der er 21 kommentarer og
1 løsning

skjule og beskytte

Har behov for lidt excel hjælp igen :-)

Jeg har et ark hvor jeg gerne vil:

1.
Beskytte flere kolonner så de ikke kan ændres.
Dette kan jeg godt for til at virker, men når jeg så låser arket op
for at foretage ændringer og gemmer det, er det ikke længere
beskyttet når jeg åbner det op igen. Vil gerne at når jeg har ændret i arket
og afsluttet med gem ændringer, så er det beskyttet.

2.
For ikke at skulle have 2 ark kunne jeg godt tænke mig en kolonne
som indeholder mine noter, denne kolonne skal dog kunne skjules
og låses, da indholdet ikke ønskes delt med andre.  Kan det lade sig gøre ? og igen sådan kolonnen som default er skjult og låst næste gang det åbnes.

Benytter Office 2013 - standard

På forhånd tak
13. marts 2018 - 11:51 #1
1. Det bedste er at beskytte arket når filen åbnes.
Du kan indsætte dette i ThisWorkbook
Private Sub Workbook_Open()
    Worksheets("Sheet1").Protect
End Sub

2. Er ikke helt sikker på udfordringen her, men du kan tilsvarende skjule en kolonne ved opstart
Private Sub Workbook_Open()
    Worksheets("Sheet1").Unprotect
    Worksheets("Sheet1").Range("C1").EntireColumn.Hidden = True
    Worksheets("Sheet1").Protect
End Sub
Avatar billede KlavsT Novice
13. marts 2018 - 12:46 #2
Hej - tusind tak for hurtig melding.  Har dog brug for lidt hjælp til løsningen.  Du siger jeg skal indsætte dette i ThisWorkbook.  Er det i et nyt ark eller hvordan ?  Har ikke arbejdet med makroer før så måske derfor.  Nogle af kolonnerne må gerne kunne ændres uden at skulle taste password men synes det er uhensigtsmæssigt at jeg skal hele processen igennem hvergang jeg har haft arket låst op.  Kan heller ikke helt greje hvor jeg skal angive password ?  Beklager men er stadig mest basal bruger af excel.
13. marts 2018 - 12:51 #3
Du finder "ThisWorkbook" i VBA editoren.
Tryk ALT+F11
Så bør du kunne se ThisWorkbook ude til venstre.
Dobbeltklik og sæt koden ind i vinduet til højre.

Password kan sættes på sådan her:

Private Sub Workbook_Open()
    Worksheets("Sheet1").Unprotect "password"
    Worksheets("Sheet1").Range("C1").EntireColumn.Hidden = True
    Worksheets("Sheet1").Protect "password"
End Sub
Avatar billede KlavsT Novice
13. marts 2018 - 13:04 #4
Hej - så langt så godt.  Har åbnet VBA editoren og klikket på det ark som det drejer sig om, (der er flere arik i xlsfilen)  indsat teksten og afsluttet.  Når jeg så vil gemme min xls fil kommer der en fejlmelding om at jege ikke kan gemme følgende projektmapper uden makroer *VB-projekt. ??  Kan heller ikke lige greje hvordan programmet ved hvilke kolonner som skal være låst mod redigering indtil jeg taster password og kan redigere. ?
13. marts 2018 - 13:12 #5
Koden skal ikke være på et ark men på "ThisWorkbook".
Jeg har lagt en fil til dig her

https://www.it-fjernundervisning.dk/info/eksperten-svar

Så du kan se, hvor koden placeres.

Koden forholder sig ikke til hvad der skal kunne redigeres - det styres på den enkelte celle - alt er som default låst og hvad der skal være låst op sættes i egenskaberne for cellerne (det lød som om du havde styr på den del).
Avatar billede KlavsT Novice
13. marts 2018 - 13:58 #6
Hej - går udfra du mener "Denne_projektmappe" når du skriver ThisWorkbook ?  Her kan jeg se mine ark samt nederste "Denne_projektmappe".  Når jeg vælge denne og paster koden ind får jeg følgende melding når jeg forsøger at gemme. "Hvis du vil gemme en fil med disse funktioner, skal du klikke på Nej og derefter vælge en makrobaseret filtype på listen Filtype. Klik på Ja, hvis du fortsat vil gemme som en projektmappe uden makroer."  Tak for din fil, men der sker ingenting når jeg forsøger at aktivere makroer.  Hvis jeg trykker på Visual Basic kan jeg se hvor du har lagt koden, og tror det er samme sted.
13. marts 2018 - 14:07 #7
Sorry - ja "Denne_projektmappe" - jeg arbejder i den engelske version.

Og ja, du skal gemme filen med aktiverede makroer.

I koden skal du huske at ændre "Sheet1" til den arkfane du ønsker koden virker på.

Hvis du gemmer filen og åbner igen skal du gerne se, at kolonne C er skjult og arkfanen er beskyttet.
Avatar billede KlavsT Novice
13. marts 2018 - 15:05 #8
Hej - så letter tågen :-) Den første del virker bortset fra at du blot kan vælge "fjern arkbeskyttelse"  Men formoder så det var del 2 der skulle løse dette issue.  Jeg har sat føglende ind under den første kode:  Private Sub Workbook_Open()
    Worksheets("Sheet1").Unprotect "password"
    Worksheets("Sheet1").Range("C1").EntireColumn.Hidden = True
    Worksheets("Sheet1").Protect "password"
End Sub
sat det password ind jeg ønsker og ændret sheet1 til det aktuelle ark.  Men nu får jeg så følgende fejl når jeg åbner arket:  Compile error: Ambigous name detected: Workbook_open
13. marts 2018 - 15:08 #9
Du kan kun have én workbook_open i din fil - du må slette dit første forsøg, så du kun har en i "denne_projektmappe"
Avatar billede KlavsT Novice
13. marts 2018 - 15:32 #10
jeg må lige sidde og forsøge lidt i aften - kommer nok lige retur i morgen er nemlig i tvivl om hvad du mener kun have én workbook_open.  Men jeg arbejder videre på projektet i aften. takker indtil videre
13. marts 2018 - 15:36 #11
Private Sub Workbook_Open()

Må kun stå ét sted i filen - og det skal være i "denne_projektmappe".
Avatar billede KlavsT Novice
13. marts 2018 - 20:12 #12
Hej - har nu fjernet alt i ThisWorkbook så der nu kun står følgende: Private Sub Workbook_Open()
    Worksheets("bilflåde").Unprotect "password"
    Worksheets("bilflåde").Range("R1").EntireColumn.Hidden = True
    Worksheets("bilflåde").Protect "password"
End Sub

Men jeg får følgende fejl: Run-time error '9': Subscript out of range. 
Den har fint nok skjult kolonne "R".
Avatar billede KlavsT Novice
13. marts 2018 - 20:33 #13
Haløjsa - nu virker det.  Gav arket nyt navn uden Å om det var det ved jeg ikke.  Password er så godt nok password nu, men det må blot være at skrive noget andet.  Men overskriver denne kode den kode jeg beskyttede arket med oprindeligt ?
Avatar billede KlavsT Novice
13. marts 2018 - 20:42 #14
hmm - det virker kun hvis jeg lader password være "password" ?
13. marts 2018 - 20:53 #15
Skift password manuelt i filen og i koden.
Gem og åben igen - så bør du være kørende.
Avatar billede KlavsT Novice
14. marts 2018 - 12:51 #16
Hej igen - alt spiller nu, men har konstateret at mit autofilter ikke fungerer når jeg har låste kolonner. Er der mulighed for at brugere, udover de kan taste informationer i de ikke låste kolonner, kan benytte autofilter ?
14. marts 2018 - 13:33 #17
Workbook_Open()
    Worksheets("bilflåde").Unprotect "password"
    Worksheets("bilflåde").Range("R1").EntireColumn.Hidden = True
    Worksheets("bilflåde").Protect Password:="password", AllowFiltering:=True
End Sub

Bør løse det
Avatar billede KlavsT Novice
14. marts 2018 - 14:25 #18
Ændre desværre ingenting - har godt nok stadig linjen : 
        Worksheets("bilflåde").Protect "password"
men det skulle vel ikke ændre noget.
14. marts 2018 - 16:44 #19
Hvor har du den?
Det kan godt ændre noget
Avatar billede KlavsT Novice
14. marts 2018 - 17:07 #20
som den side linje inde END SUB
14. marts 2018 - 17:21 #21
Tja...
Hvis den står efter
Worksheets("bilflåde").Protect Password:="password", AllowFiltering:=True
er det den der "vinder" - prøv at fjerne den.
Avatar billede KlavsT Novice
14. marts 2018 - 17:39 #22
Fantastisk - så spiller det! - takker mange gange.
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