11. februar 2019 - 10:02Der er
2 kommentarer og 4 løsninger
Lås af celler
Nogle der kender en kode hvor ved jeg kan låse en enkelt celler i et Excel ark. Og jeg selvfølgelig selv kan låse op, eller andre kan hvis de for koden.
Først og fremmes skal den/de cell(r) der skal kunne låses/låses op være markeret som låste. Hvis det kun er enkelte celler der skal kunne låses, skal du først sikre dig at andre celler ikke låses. Marker alle celler i arket, højreklik i det markerede og vælg 'Formater celler...'. Vælg fanen 'Beskyttelse'. Er der en markering i boksen Låst, så fjern den. Gå tilbage til arket ved at trykke på 'OK' knappen. Nu skal du markere den/de cell(r) der skal kunne låses/låses, højreklik i det markerede og vælg 'Formater celler...', Vælg fanen 'Beskyttelse'. Sæt nu en markering i boksen Låst. Gør alt det ovenstående i alle din ark. Så er du klar til at lave en VBA-kode (en makro) der låser den/de ønskede cell(r) - og bagefter en anden kode der låser op igen. For at gøre dette skal du gå til VBA-editoren. Tryk på tasterne 'Alt' og 'F11' samtidig. Nu åbner VBA-editoren. I den skal du lave 2 subrutiner. Skal du sikre at det kun er dig (og andre der kender en kode) der kan låse/låse op skal du trykke på menuen 'Tools' punktet 'VBAProject Properties...'. En boks med 2 faner åbner. Vælg fanen 'Protection'. Sæt en markering i boksen 'Lock project for viewing og skriv det ønskede kodeord 2 steder længere nede. Nu er du klar til at lave de 2 subrutiner. Jeg plejer at lave dem private og placere dem i et modul. Ude til venstre i VBA editoren skulle der gerne være en boks hvor du kan se et VBAProject. Er der ikke det - tryk på tasterne Ctrl og R samtidig. Øverst i VBAProject skal den gule mappe være markeret. Til venstre for 'VBAProject (ArkNavn) er der et +-I hver sub er der koder der tegn, tryk på det og du skulle gerne se en mappe for Microsoft Excel Objects hvor du kan se navnene på dine ark samt 'ThisWorkbook'. Du har brug for at lave en mappe til moduler. Højreklik i det hvide område neden under 'ThisWorkbook' og vælg Insert og vælg Module. Der kommer nu en ny mappe med navnet 'Modules' og neden under det 'Module1'. Det er i dette modul du skal lave dine sub's. Herunder giver jeg dig mine 'LåsAlleArk' og 'LåsAlleArkOp' sub's. I begge sub's er der kode der slår skærmopdatering fra så man ikke på skærmen ser hvad koden laver. Den går fra ark til ark og låser/låser op indtil det er gjort for alle ark i dit projekt. Du skal udskifte teksten DitKoderord med din egen adgangskode. Her er de: Private Sub LåsAlleArk() Application.DisplayAlerts = False Application.ScreenUpdating = False Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Activate ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="DitKoderord" Next Sheets("Kassebog").Select Range("B5").Select ActiveWindow.SmallScroll Down:=-4 ActiveWindow.DisplayWorkbookTabs = False Application.ScreenUpdating = True Application.DisplayAlerts = True
End Sub
Private Sub LåsAlleArkOp() Application.DisplayAlerts = False Application.ScreenUpdating = False Dim i As Integer For i = 1 To Sheets.Count Sheets(i).Activate ActiveSheet.Unprotect Password:="DitKoderord" Next Sheets("Kassebog").Activate ActiveWindow.DisplayWorkbookTabs = True Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Den metode Lorentz Aarhus viser er langt hurtigere hvis det kun er låsning du har brug for at kode. Min kan benyttes hvis der skal laves kodning til andre ting i projektet, så er al kode beskyttet på en gang, også låsningen af celler.
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.