Az Excel egészen a 2013-as verzióig (de elképzelhető, hogy a további verziókra is igaz lesz) nem képes arra, hogy több munkalapot kijelölve egyszerre bekapcsolhassuk a lapvédelmet ugyanazzal a jelszóval.
Tehát több, sok munkalap esetén hosszas kattintgatás előtt állunk, ha ezt meg szeretnénk oldani, mivel egyesével kell bekapcsolni a lapvédelmet.
A jó hír az, hogy van megoldás a problémára, a rossz hír pedig az, hogy csak VBA kóddal oldható meg.
Igaz, a kódot nem kell a védendő dokumentumba tenni, elég, ha nyitva van egy olyan munkafüzet, amiben benne van az alábbi makró, és azt lefuttatjuk. Akár be is tehetjük a PERSONAL makró munkafüzetbe, és akkor bármikor rendelkezésünkre áll.
Nyissuk meg a PERSONAL makró füzetet. Ha nincs ilyen vagy nem tudjuk miről van szó,
akkor nézzük meg itt. A PERSONAL (Egyéni) makró füzet (link)
- Illesszünk be egy új modult, vagy ugorjunk egy létező modul végére
- Másoljuk be a lenti kódot
- Mentsük el
- Nyissuk meg a több védendő lapot tartalmazó dokumentumot
- ALT+F8 (Makró futtatás)
- Adjuk meg, hogy a PERSONAL makrófüzetben lévő makrókat mutassa
- Válasszuk ki a „Protect_Unprotect” makrót, és futtassuk
Lapvédelem ki/bekapcsolása több munkalapra makró
[vb]
Sub Protect_Unprotect( )
Dim wSheet As Worksheet
Dim pw as string
pw = inputbox("Add meg a jelszót:")
For Each wSheet In Worksheets
With wSheet
If .ProtectContents = True Then
.Unprotect Password:=pw
Else
.Protect Password:=pw
End If
End With
Next wSheet
End Sub
[/vb]
A makró bekéri a jelszót, majd végiglép minden munkalapon, és ha nincs bekapcsolva a védelem, akkor bekapcsolja, ha be volt kapcsolva, akkor pedig feloldja a védelmet.
A kódot bátran próbáljuk módosítani, hogy pl. csak bekapcsolja vagy csak kikapcsolja. Ezeket akár külön makróba is lehet tenni.
Vigyázat! A jelszót ne felejtsük el, mert ez a kód nem tárolja le sehová!
Tovább... →