Lembar UnProtect VBA

Lembar Unprotect Excel VBA

Ada situasi di mana kami melindungi lembar kerja kami untuk mencegahnya dari pengguna memanipulasi lembar kerja. Saat melindungi lembar kerja, kami biasanya mempertahankan kata sandi yang sama. Pada artikel ini, kami akan menunjukkan cara untuk membuka proteksi sheet menggunakan pengkodean VBA.

Contoh

Anda dapat mengunduh Template Excel Lembar Unprotect VBA ini di sini - Template Excel Lembar Unprotect VBA

Contoh 1

Membuka proteksi lembar 99% lebih sederhana daripada melindunginya, kita hanya perlu kata sandi untuk membuka proteksi lembar kerja.

Hal pertama yang perlu kita lakukan adalah menyebutkan nama lembar kerja yang akan kita lindungi. Misalnya, jika Anda ingin membuka proteksi sheet bernama "Data Penjualan" maka kode VBA Anda harus seperti ini.

Lembar Kerja ("Data Penjualan")

Kemudian akses metode Unprotect.

Seperti yang kita lihat pada gambar di atas, kita tidak melihat daftar IntelliSense untuk membantu kita. Hal ini membuat pekerjaan menjadi lebih sulit, terutama untuk pelajar baru.

Untuk mengatasi ini saya biasanya mengandalkan mendeklarasikan variabel VBA sebagai "Lembar Kerja".

Kode:

 Sub Unpretect_Example1 () Dim Ws As Worksheet End Sub 

Sekarang atur variabel yang dideklarasikan ke lembar masing-masing.

Kode:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales Data") End Sub 

Sekarang gunakan variabel untuk mengakses semua properti dan metode dari variabel yang dideklarasikan.

Seperti yang Anda lihat pada gambar di atas, kami dapat mengakses semua properti dan metode. Pilih metode "Buka Proteksi" dari daftar IntelliSense.

Itu meminta kata sandi untuk membuka proteksi Sheet. Saya telah menyetel kata sandi sebagai "Excel @ 1234" jadi saya akan memberikan kata sandi yang sama.

Ini akan membuka proteksi lembar kerja yang disebut sebagai "Data Penjualan".

Kode:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales Data") Ws.Unprotect Password: = "Excel @ 1234" End Sub 

Jika tidak ada password maka kita hanya perlu menggunakan metode "Unprotect" dan mengabaikan parameter "Password".

Kode:

 Sub Unpretect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Sales Data") 'Ubah nama worksheet sesuai kebutuhan Anda Ws.Unprotect' Jika tidak ada kata sandi, cukup berikan metode "UnProtect" End Sub 

Jika ada kata sandi maka kita perlu memasukkan kata sandi dalam tanda kutip ganda. Kata sandi peka huruf besar / kecil jadi ingatlah dengan hati-hati.

Contoh # 2 - Buka Proteksi Semua Lembar Excel Hanya dengan Satu Klik

Kami telah melihat bagaimana membuka proteksi lembar kerja tertentu. Bayangkan Anda memiliki banyak lembar kerja dan semua lembar kerja dilindungi dengan kata sandi yang sama, maka kita tidak dapat terus menulis kode untuk setiap lembar kerja secara terpisah.

Dalam kasus ini, kita perlu menggunakan loop untuk mengulang koleksi objek lembar kerja dan membuka proteksi mereka dengan mudah.

Kode di bawah ini akan mengulang semua lembar kerja dan membuka proteksi lembar.

Kode:

Sub Unpretect_Example2 () Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Unprotect Password: = "Excel @ 1234" 'Ubah sandi seperti yang Anda sebutkan sambil melindunginya. Berikutnya Ws End Sub

Contoh # 3 - Situasi Khusus

Situasi 1: Pernah terbayang bila password yang diberikan salah. Ketika password yang diberikan salah kita akan mendapatkan 1004: Run Time Error.

Untuk menangani error ini kita dapat menggunakan opsi "On Error GoTo Label". Kode di bawah ini adalah contohnya.

Kode:

Sub Unpretect_Example3 () Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets On Error GoTo Errormessage Ws.Unprotect Password: = "Excel @ 1234" 'Ubah kata sandi seperti yang telah Anda sebutkan sambil melindunginya. Pesan kesalahan: MsgBox "Kata Sandi Salah" Berikutnya Ws End Sub

Kode di atas akan menampilkan kotak pesan bagus yang mengatakan "Kata Sandi Salah".

Situasi 2: Ketika lembar dilindungi tanpa kata sandi dan jika Anda memberikan kata sandi acak, itu masih akan membuka proteksi lembar kerja tanpa menunjukkan kesalahan apa pun.

Situasi 3: Ketika sheet dilindungi oleh kata sandi tetapi jika Anda tidak memberikan kata sandi apa pun maka VBA akan muncul sebagai kotak input kata sandi untuk memasukkan kata sandi.

Di kotak input di atas, kita perlu memasukkan kata sandi untuk membuka proteksi lembar kerja. Jika Anda mengklik tombol Batal, itu akan keluar dari subprocedure VBA tanpa menampilkan apa pun kecuali jika ada kotak pesan pengguna.