VBA UnProtect Sheet | Gumamit ng VBA Code upang ma-protektahan ang Excel Sheet

Excel VBA Unprotect Sheet

Mayroong mga sitwasyon kung saan pinoprotektahan namin ang aming mga worksheet upang maiwasan ito mula sa gumagamit mula sa pagmamanipula ng mga worksheet. Habang pinoprotektahan ang worksheet ay karaniwang pinapanatili namin ang parehong password. Sa artikulong ito, ipapakita namin sa iyo ang paraan upang maprotektahan ang sheet gamit ang VBA coding.

Mga halimbawa

Maaari mong i-download ang VBA Unprotect Sheet Excel Template dito - VBA Unprotect Sheet Excel Template

Halimbawa # 1

Ang pagprotekta sa sheet ay 99% mas simple kaysa sa pagprotekta sa kanila, kailangan lang namin ang password upang maprotektahan ang worksheet.

Ang pinakaunang bagay na kailangan nating gawin ay banggitin ang pangalan ng worksheet na hindi namin protektahan. Halimbawa, kung naghahanap ka upang maprotektahan ang sheet na pinangalanang "Data ng Pagbebenta" kung gayon ang iyong VBA code ay dapat na ganito.

Mga worksheet ("Data ng Pagbebenta")

Pagkatapos i-access ang paraan ng Unprotect.

Tulad ng nakikita natin sa larawan sa itaas wala kaming nakitang anumang uri ng listahan ng IntelliSense upang tulungan kami. Ginagawa nitong mas mahigpit ang trabaho, lalo na para sa bagong nag-aaral.

Upang mapagtagumpayan ito, karaniwang umaasa ako sa pagdedeklara ng isang variable ng VBA bilang "Worksheet".

Code:

 Sub Unpretect_Example1 () Dim Ws Bilang Worksheet End Sub 

Itakda ngayon ang idineklarang variable sa kani-kanilang sheet.

Code:

 Sub Unpretect_Example1 () Dim Ws Bilang Worksheet Set Ws = Mga Worksheet ("Data ng Pagbebenta") End Sub 

Gumamit ngayon ng variable upang ma-access ang lahat ng mga katangian at pamamaraan ng idineklarang variable.

Tulad ng nakikita mo sa imahe sa itaas maaari naming ma-access ang lahat ng mga katangian at pamamaraan. Piliin ang pamamaraang "Unprotect" mula sa listahan ng IntelliSense.

Humihiling ito ng password upang maprotektahan ang Sheet. Itinakda ko ang password bilang "Excel @ 1234" kaya ibibigay ko ang password bilang pareho.

Mapoprotektahan nito ang worksheet na pinangalanang "Data ng Pagbebenta".

Code:

 Sub Unpretect_Example1 () Dim Ws Bilang Worksheet Set Ws = Worksheet ("Data ng Pagbebenta") Ws.Unprotect Password: = "Excel @ 1234" End Sub 

Kung walang password pagkatapos ay kailangan lang naming gamitin ang pamamaraan na "Unprotect" at huwag pansinin ang parameter na "Password".

Code:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Worksheet ("Data ng Pagbebenta") 'Palitan ang pangalan ng worksheet alinsunod sa iyong kinakailangan Ws.Uwasang protektahan ang' Kung walang password ipasa lamang ang pamamaraan na "UnProtect" End Sub 

Kung mayroong anumang password pagkatapos ay kailangan naming ipasok ang password sa mga dobleng quote. Ang case ay sensitibo sa password kaya tandaan mong mabuti ang mga ito.

Halimbawa # 2 - Alisin ang proteksyon sa Lahat ng Mga Excel Sheet sa pamamagitan lamang ng Pag-click

Nakita namin kung paano maprotektahan ang partikular na worksheet. Isipin na mayroon kang maraming mga worksheet at lahat ng mga worksheet ay protektado ng parehong password, pagkatapos ay hindi namin mapapanatili ang mga code ng pagsulat para sa bawat worksheet nang magkahiwalay.

Sa mga kasong ito, kailangan naming gumamit ng mga loop upang mag-loop sa pamamagitan ng koleksyon ng object ng worksheet at protektahan ang mga ito nang madali.

Sa ibaba code ay loop sa lahat ng mga worksheet at protektahan ang sheet.

Code:

 Sub Unpretect_Example2 () Dim Ws Bilang Worksheet Para sa bawat Ws Sa ActiveWorkbook.Worksheets Ws.Unprotect Password: = "Excel @ 1234" 'Palitan ang password tulad ng nabanggit mo habang pinoprotektahan ang mga ito. Susunod na Ws End Sub 

Halimbawa # 3 - Mga Espesyal na Sitwasyon

Sitwasyon 1: Naisip mo ba kung mali ang ibinigay na password. Kapag mali ang ibinigay na password makukuha natin 1004: Error sa Pagpapatakbo ng Oras.

Upang mahawakan ang mga error na ito maaari naming gamitin ang pagpipiliang "Sa Error GoTo Label". Sa ibaba ng code ay ang halimbawa ng pareho.

Code:

 Sub Unpretect_Example3 () Dim Ws Bilang Worksheet Para sa bawat Ws Sa ActiveWorkbook. Worksheets On Error GoTo Errormessage Ws.Unprotect Password: = "Excel @ 1234" 'Palitan ang password tulad ng nabanggit mo habang pinoprotektahan ang mga ito. Errormessage: MsgBox "Maling Password" Susunod na Ws End Sub 

Ipapakita ng code sa itaas ang isang magandang kahon ng mensahe na nagsasabing "Maling Password".

Sitwasyon 2: Kapag ang sheet ay protektado nang walang isang password at kung magbigay ka ng isang random na password ay hindi pa rin maprotektahan ang worksheet nang hindi nagpapakita ng anumang uri ng mga error.

Sitwasyon 3: Kapag ang sheet ay protektado ng isang password ngunit kung hindi ka naghahatid ng anumang password pagkatapos ang VBA ay mag-pop up bilang isang kahon ng pag-input ng password upang ipasok ang password.

Sa kahon sa pag-input sa itaas, kailangan naming ipasok ang aming password upang maprotektahan ang worksheet. Kung nag-click sa pindutan na Kanselahin, lalabas ito sa subprocedure ng VBA nang hindi ipinapakita ang anuman maliban kung mayroong anumang kahon ng mensahe ng gumagamit.