Print side | Luk vindue

Låse ark

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=274
Udskrevet den: 04.Dec.2024 kl. 20:25


Emne: Låse ark
Besked fra: Henrik Nielsen
Emne: Låse ark
Posteringsdato: 08.Mar.2011 kl. 12:29
Hej
 
Nu er det lykkedes at låse et ark ved hjælp af et klik i en celle
dette med hjælp fra Allan tusind tak.
 
nu ville jeg gerne have det sådan at det kun er nogle celler der fra starten kan tastes i
og når der så er tastet data ind  kan resten af arket så låses ved et klik i en celle.
 
henrik  



Svar:
Besked fra: Allan
Posteringsdato: 08.Mar.2011 kl. 16:12
Hej Henrik,
 
Prøv med:
 
Private Const koden = "123"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" And ActiveSheet.ProtectContents = True Then
    ActiveSheet.Unprotect koden
    Range("D5").Locked = True 'Denne celle er åben indtil arket låses
    Range("D9").Locked = True 'Denne celle er åben indtil arket låses
    ActiveSheet.Protect "123"
End If
End Sub

Sub AabenCellenIgen()
On Error Resume Next
ActiveSheet.Unprotect koden
Range("D5").Locked = False 'Denne celle er åben indtil arket låses
Range("D9").Locked = False 'Denne celle er åben indtil arket låses
ActiveSheet.Protect koden
End Sub
 
Sørg altid for at låse din ark med sub'en AabenCellenIgen.
 
Kan du få det til at virke?
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 10.Mar.2011 kl. 08:00
Hej Allan
 
Det er godt nok en god side jeg fandt her
det er helt utroligt at man kan få sådan en hjælp.
 
Den sidste her virker dog ikke men måske har jeg forklaret det dårligt
 
Jeg har et ark som er beskyttet af en kode
men med celler som ikke er beskyttet
 
Det er så meningen at der skal kunne tastes data i disse celler
og når indtastningen er afsluttet trykkes på en celle med lås ark
og så låses de ulåste celler også
 
Henrik


Besked fra: Allan
Posteringsdato: 10.Mar.2011 kl. 09:55
Hej Henrik,
 
Jeg har lavet et eksempel til dig, jeg tror jeg har forstået dig, men jeg har blot ikke forklaret min kode særlig pædagogisk.
Prøv denne fil: uploads/1/lås_ved_klik.xls - uploads/1/lås_ved_klik.xls
 
Der er 2 celler som du kan taste i, selvom arket er låst.
Når du klikker på A1 vil disse 2 celler også blive låst.
Jeg har for testens skyld, forsynet arket med en knap, hvor du kan åbne celler igen.
 
Er det nogenlunde det du forestillede dig?
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 10.Mar.2011 kl. 10:18
Hej Allan
 
det er precis det jeg skulle frem til
prøver at overfører det til mit eget ark
 
knappen lås op hvordan oprettes den ?
 
endnu en gang tak for hjælpen
 
Henrik


Besked fra: Allan
Posteringsdato: 10.Mar.2011 kl. 10:24
I Excel 2007 og 2010 ligger den på fanen 'Udvikler'
Vælg knappen 'Indsæt' og knappen under 'Kontrolelementer for Formular'
 
Har du ikke fanen 'Udvikler' skal du gøre følgende:
Klik på den runde OfficeKnap i øverste venstre hjørne
Vælg 'Excel Indstillinger'
Sæt flueben i 'Vis fanen Udvikler på båndet'
 
//Allan
 


Besked fra: Henrik Nielsen
Posteringsdato: 10.Mar.2011 kl. 10:25
undskyld knappen hedder ikke Lås op men åben celler igen


Besked fra: Henrik Nielsen
Posteringsdato: 10.Mar.2011 kl. 10:35
Hej Allan
 
Jeg er vidst kommet lidt til kort her, det er nok bedst
at jeg studerer det du har sendt før jeg bruger mere af din tid.
syntes det er fantastisk at sådan et forum her findes
det gør at jeg ar ret tæt på at opnå noget som for mig vil være perfekt
 
tusind tak for hjælpen
 
Henrik


Besked fra: Henrik Nielsen
Posteringsdato: 10.Mar.2011 kl. 11:43
Hej Allan
Jeg har kopieret dette til mit ark og rettet cellenavn til A2 og A3
men det fungerer ikke.
 
ville gerne kunne vise dig arket som det du viste mig men ved ikke hvordan det gøres
 
Henrik  
 
Private Const koden = "123"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" And ActiveSheet.ProtectContents = True Then
    ActiveSheet.Unprotect koden
    Range("A2").Locked = True 'Denne celle er åben indtil arket låses
    Range("A3").Locked = True 'Denne celle er åben indtil arket låses
    ActiveSheet.Protect "123"
End If
End Sub
Sub AabenCellenIgen()
On Error Resume Next
ActiveSheet.Unprotect koden
Range("A2").Locked = False 'Denne celle er åben indtil arket låses
Range("A3").Locked = False 'Denne celle er åben indtil arket låses
ActiveSheet.Protect koden
End Sub


Besked fra: Allan
Posteringsdato: 10.Mar.2011 kl. 12:45
Hej igen,
Du er meget velkommen til at bruge min tid.
Jeg mener at hvis man har fået en gave i form af kundskaber, bør man dele den med andre, ellers vil den viden man har opbygget, over tid blive ubrugelig eller måske endda gå tabt.
 
Du kan uploade dit ark til forummet ved først at bruge 'Besvar' knappen.
Når du så skriver beskeden, skal du bruge knappen Fil som ligger i menulinjen.
Så kan du lægge filer op og efterfølgende administrere dem.
 
 
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 10.Mar.2011 kl. 15:33
Hej Allan    det er utroligt
 
http://www.forum.excel-regneark.dk/uploads/208/Dagseddel_montage-fremstilling_1034-HN.xlsm - uploads/208/Dagseddel_montage-fremstilling_1034-HN.xlsm
 
Planen med det her ark at ligge det på serveren som montørene
får adgang til via en kode
 
Jeg kan så ved hjælp af samkøring af timer til mit ark med kalkulationer
følge med i hvad der er brugt af tid på hver sag.  
 
Det skal være let for dem så derfor siden med datoer
man klikker så bare på datoen og så kommer man til
sin montage rapport for denne dag
 
den er forudfyldt med sag, nr. navn osv.
når man så har indtastet sine data skulle man så
hvis det kan lade sig gøre trykke på en celle og så er arket låst
og man hopper tilbage til siden med datoer.  


Besked fra: Allan
Posteringsdato: 11.Mar.2011 kl. 12:34
Hej igen Henrik,
 
Kig lige på denne, uploads/1/Dagseddel_montage-fremstilling_1034-HN.xlsm - uploads/1/Dagseddel_montage-fremstilling_1034-HN.xlsm
 
Når du trykker på LÅS, låses arket, når du trykker på LÅS OP spørges du om koden, og arket åbnes.
 
Kan det løfte opgaven?
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 11.Mar.2011 kl. 13:31

Hej Allan

 

Nej det løser desværre ikke helt opgaven

når arket er tilgængeligt for montørerne

skal der kun kunne skrives i felter med rødt

samt på linjer beregnet for tekst

resten skal være låst

når så de er færdige med at indtaste skal resten af arket låses

ved hjælp at et klik i en celle

herefter skal det ikke være muligt for montørerne at låse det op
 
Henrik


Besked fra: Allan
Posteringsdato: 11.Mar.2011 kl. 14:24
Prøv lige denne, den er rettet efter det du beskriver.
uploads/1/Dagseddel_montage-fremstilling_1034-HN.xlsm - uploads/1/Dagseddel_montage-fremstilling_1034-HN.xlsm
 
Montøren kan taste i felter med rødt og linjer beregnet til tekst.
Når han klikker på Lås, låses alt.
Klikker man på Lås op og man kender koden, kan felterne med rødt og linjer beregnet til tekst anvendes igen.
 
Er vi der?
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 11.Mar.2011 kl. 14:41
Hej Allan
 
Jeg er stået af på det med koderne (skulle måske studerer det lidt mere)
Det virker ikke helt som jeg havde forestillet mig
efter at have trykket lås kan man stadig taste i nogle felter
 
Grøn tekst må ikke på noget tidspunkt kunne ændres af montørerne
Rød tekst må kunne ændres af montørerne til de har trykket lås
herefter må der ikke være noget som er tilgængeligt medmindre man kender koden selvfølgelig 
 


Besked fra: Henrik Nielsen
Posteringsdato: 11.Mar.2011 kl. 14:44
http://www.forum.excel-regneark.dk/uploads/208/Kopi_af_Dagseddel_montage-fremstilling_1034-HN.xlsm - uploads/208/Kopi_af_Dagseddel_montage-fremstilling_1034-HN.xlsm
Og så lige arket med grøn tekst


Besked fra: Allan
Posteringsdato: 11.Mar.2011 kl. 14:45
Henrik, Prøv lige følgende:
Luk din internet browser, åben den igen og vend tilbage her til forummet.
Jeg tror det er en gammel kopi som spøger lidt, da jeg har brugt det samme filnavn 2 gange.
 
//Allan


Besked fra: Allan
Posteringsdato: 11.Mar.2011 kl. 14:48
Jeg giver den lige et nyt navn for en ordens skyld: uploads/1/Dagseddel_montage-fremstilling_1034-HN_2.xlsm - uploads/1/Dagseddel_montage-fremstilling_1034-HN_2.xlsm


Besked fra: Henrik Nielsen
Posteringsdato: 11.Mar.2011 kl. 14:52
Hej Allan
 
Helt perfekt  tusind tak for hjælpen
Ok nu kom den med nyt navn
så alt er sikkert ok
 
Jeg fortsætter med de ark som det skal kobles sammen med
 
God weekend
Henrik


Besked fra: Allan
Posteringsdato: 11.Mar.2011 kl. 14:53
Velbekomme Henrik, også god weekend til dig Smile
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 11.Mar.2011 kl. 15:15
Nå ja det jo vanskeligt at slutte når man bliver grebet af det
 
Kan det lade sig gøre at låse og afslutte i et klik ?
 
Henrik


Besked fra: Allan
Posteringsdato: 11.Mar.2011 kl. 15:41

 Nej, det er intet problem, du skal bare opdatere koden med denne:

 
Private Const koden = "123"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$K$43" Then
    If MsgBox("Du er ved at låse arket, vil du fortsætte?", vbInformation + vbYesNo, "STÅLKON") <> vbYes Then Exit Sub
    ActiveSheet.Unprotect koden
    Range("D8:K8,B13:F19,I13:L19,B21:L27,B29:L36,B38:L42").Locked = True
    ActiveSheet.Protect "123"
    Ark1.Activate
    Range("A1").Select
End If
If Target.Address = "$Q$43" Then
    ActiveSheet.Unprotect
    Range("D8:K8,B13:F19,I13:L19,B21:L27,B29:L36,B38:L42").Locked = False
    ActiveSheet.Protect koden
End If
End Sub
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 14.Mar.2011 kl. 14:29
Jamen det virker jo
 
Kan det lade sig gøre at oprette 364 kopier af et ark på en gang ?
 
Henrik


Besked fra: Allan
Posteringsdato: 14.Mar.2011 kl. 15:03
Hej Henrik,
 
Faner eller filer?
Hvad skal navnet være, har du navnene skrevet i nogle celler?
 
//Allan


Besked fra: Henrik Nielsen
Posteringsdato: 15.Mar.2011 kl. 08:41
Hej Allan
 
Det er faner (Det tidligere omtalte ark til dagsedler)
jeg skal bruge  1 til hver dag i året
Navnene er datoer som er tastet ind i celle i et ark 
der skal fungerer som forside. når man så klikker på en dato
kommer man til dagsedlen med denne dato
den kan man så udfylde og låse samtidig med kommer man så tilbage til for siden.
 
det var en længere forklaring men det er nogle gange lettere
når man ved hvad resultatet skal blive
 
Henrik
     


Besked fra: Allan
Posteringsdato: 15.Mar.2011 kl. 16:56
Hej Henrik,
Prøv at kigge på denne funktion: https://www.bst-utilities.dk/?pageIDX=66 - https://www.bst-utilities.dk/?pageIDX=66
Og denne: https://www.bst-utilities.dk/?pageIDX=67 - https://www.bst-utilities.dk/?pageIDX=67
Hvis du kører funktionen 'Multiark generator' som opretter ark med de navne du har på din liste. (Alle 364)
Bagefter, skal du markere øverste celle i listen og køre funktionen 'List alle arknavne under aktive celle'
Sidstnævnte funktion indsætter alle arknavne og gør dem klikbare.
Er det for kryptisk?
//Allan



Print side | Luk vindue