Avatar billede bruno Nybegynder
01. februar 2003 - 16:58 Der er 33 kommentarer og
1 løsning

Låse ark

Jeg har et regneark med 100 arksider. Jeg vil gerne sikre/låse hvert ark. Det kan godt lade sig gøre hvis jeg låser et ark ad gangen men det tager jo frygtelig lang tid... Er der nogen der kender en metode til at låse alle 100 ark på en gang????

Mvh BL
Avatar billede bak Forsker
01. februar 2003 - 17:10 #1
Her er en makro, der beskytter alle ark i et hug.
Der hor der står BAK indsætter du dit eget password

Sub protecting()
Dim s As Worksheet
For Each s In ActiveWorkbook.Sheets
  s.Protect "BAK"
Next
End Sub


Denne makro vil fjerne beskyttelsen igen fra alle ark
Sub unprotecting()
Dim s As Worksheet
For Each s In ActiveWorkbook.Sheets
  s.Unprotect "BAK"
Next
End Sub
Avatar billede bak Forsker
01. februar 2003 - 17:10 #2
hor = hvor
Avatar billede kabbak Professor
01. februar 2003 - 17:11 #3
Sub Makro1()
For Each ws In Worksheets
ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next ws
End Sub
Avatar billede bruno Nybegynder
01. februar 2003 - 17:24 #4
Nu skal alt på arkene ikke være låst, det skal være muligt for brugeren at taste ind i de felter der er beregnet til det. Hvordan gør jeg det? Normalt når det drejer sig om 1 ark marker jeg de felter der skal være åbne og derefter vælger jeg "Funktioner" og dernæst "beskyttelse". Skal jeg markere alle 100 ark og på samme måde markere de felter der skal være åbne. Hvad med den kode i har beskrevet, hvad skal jeg gøre med den??
I må bære over med mig men jeg er (som i nok har opdaget) ikke nogen superbruger...
Avatar billede kabbak Professor
01. februar 2003 - 17:29 #5
Du skal makere khele arket og fjerne fluenenet i låst.
Derefter marker de celler der skal være låst og sæt flueben i låst.

når du har gjort det i alle ark, så kør makroen
Avatar billede kabbak Professor
01. februar 2003 - 17:32 #6
Det er i formater celler beskyttelse di skal gøre det med fluebenet.

Alle celler er standard markeret med låst.
Derfor skal du låse alle op ved at fjerne fluebenet,og derefter markere alle celler du vil beskytte, og sæt det omtalte flueben i låst.
Avatar billede bak Forsker
01. februar 2003 - 17:34 #7
Det er helt rigtigt. Du markerer bare alle 100 ark, stiller dig på en celle og klikker på Formater / Celler. Her finder du fanebladet Beskyttelse og fjerner fluebenet i Låst. Så forbliver disse celler ubeskyttede, når du efterfølgende beskytter arkene.
NB. dette skal gøres inden du låser arkene.

mht. makroen trykker du på Alt-F11 for at komme til makroeditoren.
Vælg Insert->Module og i det modul paster du overnævnte kode ind.
tryk så Alt-F11 igen for at komme tilbage til Excel.

Nu kan du køre makroen fra Funktioner -> Makroer
Avatar billede bruno Nybegynder
01. februar 2003 - 17:37 #8
Jeg skal lige sige at jeg bruger excel 97. Normalt låser jeg et ark ved at marker de felter der skal være åbne og fjerner fluebenet i låst.. din beskrivelse er lige modsat men virker ligegodt.
Kør macro hvad mener du med det???
Avatar billede jkrons Professor
01. februar 2003 - 17:38 #9
Men bak-s forslag kræver at det er de samme celler, der skal være ulåst i alle ark.
Avatar billede bak Forsker
01. februar 2003 - 17:43 #10
Jeg mener at koden du har fået, bliver til en makro, når den bliver indsat i et modul.
dvs at du så kan finde makroen Protecting i Funktioner-Makro-Makroer og vælg Kør. Så bliver alle ark beskyttet.
Avatar billede bruno Nybegynder
01. februar 2003 - 18:12 #11
Nu har jeg markeret de felter der skal være åbne, (det er de samme felter i alle 100 ark) så trykker jeg ALT+F11
vælger "indsæt" vælger "modul"
Kopier denne formel ind :
Sub protecting()
Dim s As Worksheet
For Each s In ActiveWorkbook.Sheets
  s.Protect "BL"
Next
End Sub
Hvad så nu...? skal det gemmes og hvordan aktiver man denne kode?

BL
Avatar billede kabbak Professor
01. februar 2003 - 18:18 #12
Luk modulet ved at klikke på krydset øverste højre hjørne.
Avatar billede kabbak Professor
01. februar 2003 - 18:20 #13
Oppe i din menulinie er der en blå trekant der peger til højre, det er kør makro.
Avatar billede bruno Nybegynder
01. februar 2003 - 18:44 #14
Nu begynder der at ske noget... men den gør det ikke rigtigt endnu. Der er 110 ark hvoraf de 100 ark er identiske og det er de 100 ark der skal låses. Når jeg bruger den før omtalte formel så låses alle ark. Hvad gør jeg?
Avatar billede kabbak Professor
01. februar 2003 - 18:54 #15
De 10 ark der ikke skal låses, har de noget fælles navnetræk.
Avatar billede kabbak Professor
01. februar 2003 - 19:12 #16
Eller er der en celle i de ark der skal låses som har samme værdi i de 100 ark og som ikke har den værdi i de 10 andre.
Avatar billede bruno Nybegynder
01. februar 2003 - 19:40 #17
hvad mener du med fælles navnetræk?
Avatar billede kabbak Professor
01. februar 2003 - 20:31 #18
hvis de for eks. de 10 ark har et navn der begynder med "D" og de andre 100 ikke gør, så har de et fælles navnetræk.
Avatar billede bruno Nybegynder
01. februar 2003 - 20:41 #19
de 10 ark har et navn, mens de 100 ark hedder ark 1 ark 2 o.s.v.
Avatar billede kabbak Professor
01. februar 2003 - 21:06 #20
Sub protecting()
Sub protecting()
For Each Ws In Worksheets
If Left(Ws.Name, 3) = "Ark" Then
Ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next Ws
End Sub

Denne makro låser alle ark der begynder med "Ark" og ikke de andre.
Den sætter ingen password
Avatar billede kabbak Professor
01. februar 2003 - 21:07 #21
Den øverste linie skal ikke med
Avatar billede bruno Nybegynder
01. februar 2003 - 21:24 #22
Øhh - hvordan låser du op igen?
Avatar billede kabbak Professor
01. februar 2003 - 21:33 #23
Sub protecting()
For Each Ws In Worksheets
If Left(Ws.Name, 3) = "Ark" Then
Ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next Ws
End Sub

Sub Unprotecting()
For Each Ws In Worksheets
Ws.Unprotect
Next Ws
End Sub

her er begge to

den sidste  fra bak, så husk at give ham point også.
Avatar billede kabbak Professor
01. februar 2003 - 21:34 #24
Den sidste Unprotecting fjerner lås fra alle ark.
Avatar billede bak Forsker
01. februar 2003 - 21:58 #25
Jeg synes nu at du har ærligt fortjent alle points, kabbak. Du har fulgt denne her pænt i hus :-)
Avatar billede bruno Nybegynder
02. februar 2003 - 09:02 #26
Det driller altså stadig... Når jeg forsøger at låse de 100 ark (jeg har markeret alle 100 ark) får jeg denne meddelse:
Kørselsfejl 1004 metoden protect for klassen worksheet mislykkes. Klikker jeg på fejlfind så står der dette.
Sub protecting()
For Each Ws In Worksheets
If Left(Ws.Name, 3) = "Ark" Then
Ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next Ws
End Sub
I ovennævnte kode er Linje 4 er malet gul (hvad det så end betyder)
Hvad er problemet , (ud over fejl 40:)
Avatar billede bak Forsker
02. februar 2003 - 13:29 #27
Kabbaks kode skal kunne køre uden at du markerer de 100 ark.
den går netop ind og kigger på alle ark for at kun at låse de ark hvor de første 3 bogstaver er "Ark".
Så prøv uden at markere disse ark.
Avatar billede kabbak Professor
02. februar 2003 - 16:43 #28
Hvis du stadig får fejl så prøv dette i stedet, den anden var fra Excel 2000,
så det kan være at 97 ikke forstår " DrawingObjects:=True, Contents:=True, Scenarios:=True"


Sub protecting()
For Each Ws In Worksheets
If Left(Ws.Name, 3) = "Ark" Then
Ws.Protect
End If
Next Ws
End Sub
Avatar billede bruno Nybegynder
02. februar 2003 - 19:10 #29
Nu virker det... Alle ark låses af som de skal. Det sidste der mangler er et password for at låse arkene op igen. Kan du også klare det?
Avatar billede bak Forsker
02. februar 2003 - 19:15 #30
bruno->kig lige på mit første indlæg og hvordan du gør
Avatar billede bruno Nybegynder
02. februar 2003 - 19:30 #31
Den macro du skrev først (der låser arkene) er umidlbart noget anderledes end den sidste du lavede...
Avatar billede bak Forsker
02. februar 2003 - 19:50 #32
Det jeg mente var at du skulle se hvor kodeordet skal stå

Sub protecting()
For Each Ws In Worksheets
If Left(Ws.Name, 3) = "Ark" Then
Ws.Protect "Dit Kodeord"
End If
Next Ws
End Sub
Avatar billede bruno Nybegynder
02. februar 2003 - 20:11 #33
KANON.... Det virker perfekt - Tak for din store tålmodighed. Du har virkelig fortjent dine point.

Mvh BL
Avatar billede bruno Nybegynder
02. februar 2003 - 20:12 #34
Ups glemt at give dig dine point:)
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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