VBA UnProtect Sheet - Gunakan Kode VBA untuk Membuka Proteksi Lembar Excel

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 kepada Anda cara untuk membuka proteksi sheet menggunakan pengkodean VBA.

Contoh

Contoh 1

Membuka proteksi lembaran 99% lebih sederhana daripada melindunginya. Kami hanya membutuhkan 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", 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 mengatasinya, 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, kita dapat mengakses semua properti dan metode. Pilih metode "Unprotect" dari daftar IntelliSense.

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

Ini akan membuka proteksi lembar kerja bernama "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 cermat.

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 kata sandi yang diberikan salah, kita akan mendapatkan pesan 1004: Run Time Error.

Untuk menangani error ini, kita dapat menggunakan opsi "On Error GoTo Label". Kode di bawah ini adalah contoh yang sama.

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 yang salah".

Situasi 2: Ketika lembar dilindungi tanpa kata sandi, dan jika Anda memberikan kata sandi acak, itu masih akan membuka perlindungan 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.

Artikel yang menarik...