30. januar 2015 - 08:29Der er
5 kommentarer og 1 løsning
VBA som skal beskytte ark men med mulighed for stadig at kunne editere tekst bokse
Hej
Jeg håber der er nogen der kan hjælpe mig med denne. Jeg bruger Excel 2013. Jeg har en makro der beskytter alle ark med et angivet password. Jeg ønsker at give mulighed for at editere tekstbokse, men jeg kan ikke finde ud ad hvordan jeg tilføjer denne funktionalitet. Dette er hvad jeg har nu:
Const pWord As String = "ABC" Option Explicit Sub ProtectAllSheets() Dim sh As Object For Each sh In ActiveWorkbook.Sheets sh.Protect Password:=pWord Next End Sub
Jeg har prøvet nedenstående, men det virker ikke:
Const pWord As String = "ABC" Option Explicit Sub ProtectAllSheets() Dim sh As Object For Each sh In ActiveWorkbook.Sheets sh.Protect Password:=pWord, DrawingObjects:=False, contents:=True, Scenarios:=True Next End Sub
Håber der er nogen er kan hjælpe mig her - på forhånd tak
Const pWord As String = "ABC" Option Explicit Sub ProtectAllSheets() Dim sh As Object For Each sh In ActiveWorkbook.Sheets sh.Protect Password:=pWord, DrawingObjects:=False, Contents:=True, Scenarios:= _ True Next End Sub
Det virker. Tak - kan du klare et tillægsspørgsmål. Hvis jeg så skal tilføje mulighed for at bruge fold ind fold ud (dem med + og - i kolonner og rækker),så har jeg haft en anden makro der ser sådan ud:
With ActiveSheet .Protect Password:=pWord, UserInterfaceOnly:=True .EnableOutlining = True End With
.... men at kombinere disse to, så jeg kan bruge + og - samt redigere kommentarer når alle ark er beskyttet via makroen..... så driller det mig at kombinere disse to. Faktsk ved jeg ikke hvilket element i makroen er aktiverer + og -
Boro23: Jeg har nu fået det sidste til at virke. Du hjalp mig på vej, og en kollega fik mig i mål. Smid et svar, så lukker jeg spm.
Herunder ses den endelige kode der virker inkl. en makro til at låse alle ark op også. Funktionaliteten er, at de beskyttede ark både kan åbne og lukke grupper, samt at tekst bokse kan editeres:
Const pWord As String = "ABC" 'Ændres efter behov Option Explicit Sub UnprotectAllSheets() Dim sh As Object For Each sh In ActiveWorkbook.Sheets sh.Unprotect Password:=pWord Next End Sub Sub ProtectAllSheets() Dim sh As Object For Each sh In ActiveWorkbook.Sheets sh.Protect Password:=pWord, DrawingObjects:=False, Contents:=True, Scenarios:= _ True, userinterfaceonly:=True sh.EnableOutlining = True Next End Sub
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.