Forbedring af "Lås flere ark samtidigt"
Dette er en fortsættelse af http://www.eksperten.dk/spm/842403 hvori Kabbak kom med løsningen for hvorledes flere ark kunne beskyttes samtidigtDet er dejligt at kunne søge nettet for løsninger og så finde et fint og brugbart indlæg som ovenstående! Tak til jer som deler jeres viden! Jeg har allerede implementeret Kabbak's løsning i nogle arbejdsfiler som indeholde 64 ark (5 områder á 12 mdr), og med så mange ark er denne funktion guld værd...
Jeg håber på at der er nogen der har lyst til at hjælpe med at forbedre det eksisterende forslag. Pt fungerer koden ved at man i et pop-up vindue markere (enkeltvis) de ark man ønsker at beskytte, trykker beskyt, indtaster (synlig) kode og trykker ok. Done!
Her er de punkter jeg håber på at kunne få løst:
1. Koden skal ikke være synlig ved indtastning. Pt skal kode kun skrives én gang. Dvs at taster man forkert og er lidt hurtig... så er man fcuk'ed... Altså mangler skjult kode og dobbelttastning
2. Når man nu har alt for mange ark som jeg, kunne det være rart hvis man kunne markere hele rækken ved blot at markere øverste og derefter trykke SHIFT og markere nederste... Desværre skal jeg pt markere alle enkeltvist... Kan dét løses?
3. Normalt når man beskytter et ark, kan man vælge nogle indstillinger. Her savner jeg fx at kunne fjerne markering i "marker låste celler", "Brug Autofilter" og brug pivottabeller. Skal det være HELT i top, skulle man kunne vælge imellem de ting Excel normalt giver mulighed for, men ovenstående er for mig de vigtigste.
4. Pt kan man låse et allerede låst ark... dog husker arket kun først kode, men man får ingen fejl... Måske man kunne sikre at listboksen kun viser ark som ikke allerede er låst. Ligeledes når man ønsker at åbne ark, så kun vise de låste ark.
5. Har jeg glemt noget? Har du et forslag som vil gøre netop denne kode helt kanon, så smid en kommentar
Venlig hilsen
Jeppe
-------------------------------
Herunder er den kode Kabbak kom med i forrige indslag. Den forudsætter en Userform med (Listbox1)og 2 commandbuttens (beskyt / Ubeskyt), samt følgende kode i Userform modulet:
Option Explicit
Private Sub Beskyt_Click()
Dim X As Integer, PW As String
PW = InputBox("Indtast password", "Password")
For X = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(X) Then
Worksheets(ListBox1.List(X)).Protect Password:=PW
End If
Next
Unload Me
End Sub
Private Sub Ubeskyt_Click()
Dim X As Integer, PW As String
PW = InputBox("Indtast password", "Password")
For X = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(X) Then
Worksheets(ListBox1.List(X)).Unprotect PW
End If
Next
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim Sh As Worksheet
ListBox1.MultiSelect = fmMultiSelectMulti
ListBox1 = Empty
For Each Sh In ActiveWorkbook.Sheets
ListBox1.AddItem Sh.Name
Next
End Sub
