Lembar Pelindung VBA

Lembar Pelindung VBA Excel

Kami dapat melindungi lembar excel menggunakan kode vba yang tidak memungkinkan pengguna untuk melakukan perubahan apa pun pada data lembar kerja, yang dapat mereka lakukan hanyalah membaca laporan. Untuk ini, kami memiliki metode vba built-in yang disebut "Protect".

Seperti kita melindungi lembar kerja kita di excel, kita juga bisa menggunakan VBA untuk melindungi lembar kerja kita, itu dilakukan dengan menggunakan pernyataan .protect, ada dua metode untuk melindungi lembar satu dengan kata sandi dan yang lainnya tanpa kata sandi, sintaks untuk melindungi lembar kerja adalah sebagai berikut Lembar Kerja (). Lindungi Kata Sandi.

Kami biasanya membagikan laporan akhir dengan pengguna atau pembaca. Saat kami membagikan laporan akhir akhir dengan pengguna, kami berharap pengguna tidak melakukan modifikasi atau memanipulasi laporan akhir. Dalam skenario seperti itu, semuanya tentang kepercayaan, bukan?

Sintaksis

Melindungi lembar melibatkan berbagai parameter untuk memasok ini tidak seperti Melindungi lembar. Mari kita lihat sintaks metode Protect dengan kata sandi.

Wow!!! Jangan terintimidasi dengan melihat sintaksnya. Simak penjelasan masing-masing argumen di bawah ini.

  • Nama Lembar Kerja: Pertama kita perlu menyebutkan lembar kerja mana yang akan kita lindungi.
  • Kata sandi: Kita perlu memasukkan kata sandi yang kita gunakan untuk melindungi. Jika kita mengabaikan parameter ini, excel akan mengunci sheet tanpa kata sandi dan sementara membuka proteksi sheet, ia akan membuka proteksi tanpa meminta kata sandi.
  • Note: Ingat password yang anda berikan, karena jika anda lupa maka anda harus melalui berbagai cara yang sulit.
  • Menggambar Objek: Jika Anda ingin melindungi objek di lembar kerja, maka Anda dapat memberikan argumen sebagai BENAR atau SALAH. Nilai default adalah BENAR.
  • Isi: Untuk melindungi konten lembar kerja, atur parameter sebagai BENAR atau SALAH. Nilai defaultnya adalah FALSE. Ini hanya akan melindungi sel yang terkunci. Nilai default adalah BENAR.
  • Skenario: Jika ada analisis bagaimana-jika dalam skenario excel, kami juga dapat melindungi mereka. Untuk melindungi TRUE atau FALSE. Nilai default adalah BENAR.
  • Hanya Antarmuka Pengguna: Jika Anda ingin melindungi antarmuka pengguna selain makro maka itu harus BENAR. Jika argumen ini dihilangkan maka itu akan melindungi makro dan antarmuka pengguna. Jika Anda menyetel argumen ke TRUE, ini hanya akan melindungi antarmuka pengguna. Nilai defaultnya adalah FALSE.
  • Izinkan Pemformatan Sel: Jika Anda ingin mengizinkan pengguna untuk memformat sel, maka Anda dapat mengatur parameter ke TRUE atau FALSE. Nilai defaultnya adalah FALSE.
  • Izinkan Kolom Pemformatan: Jika Anda ingin mengizinkan pengguna untuk memformat kolom apa pun di lembar yang diproteksi, maka Anda dapat mengatur parameter ke TRUE atau FALSE. Nilai defaultnya adalah FALSE.
  • Izinkan Formatting Rows: Jika Anda ingin mengizinkan pengguna untuk memformat baris apa pun di lembar yang diproteksi, maka Anda dapat mengatur parameter ke TRUE atau FALSE. Nilai defaultnya adalah FALSE.
  • Izinkan Sisipkan Kolom di VBA: Anda ingin mengizinkan pengguna memasukkan kolom baru, maka Anda perlu menyetelnya ke TRUE. Nilai defaultnya adalah FALSE.
  • Izinkan Sisipkan Baris: Jika Anda ingin mengizinkan pengguna untuk memasukkan baris baru, maka Anda perlu menyetelnya ke TRUE. Nilai defaultnya adalah FALSE.
  • Izinkan Sisipkan Hyperlink: Jika Anda ingin mengizinkan pengguna untuk memasukkan hyperlink, maka Anda perlu menyetelnya ke TRUE. Nilai defaultnya adalah FALSE.
  • Izinkan Menghapus Kolom: Jika Anda ingin mengizinkan pengguna untuk menghapus kolom di VBA, maka Anda perlu mengaturnya ke TRUE. Nilai defaultnya adalah FALSE.
  • Izinkan Menghapus Baris: Jika Anda ingin mengizinkan pengguna untuk menghapus baris, maka Anda perlu menyetelnya ke TRUE. Nilai defaultnya adalah FALSE.
  • Izinkan Penyortiran: Jika Anda ingin mengizinkan pengguna untuk menyortir data, maka Anda perlu menyetelnya ke TRUE. Nilai defaultnya adalah FALSE.
  • Izinkan Pemfilteran: Jika Anda ingin mengizinkan pengguna untuk memfilter data, maka Anda perlu menyetelnya ke TRUE. Nilai defaultnya adalah FALSE.
  • Izinkan Menggunakan Tabel Pivot: Jika Anda ingin mengizinkan pengguna menggunakan tabel pivot maka Anda perlu menyetelnya ke BENAR. Nilai defaultnya adalah FALSE.

Bagaimana cara Melindungi Lembar menggunakan Kode VBA?

Anda dapat mengunduh Templat Excel Lembar Pelindung VBA ini di sini - Templat Excel Lembar Pelindung VBA

Langkah 1: Pilih Lembar yang perlu dilindungi

Untuk melindungi sheet, langkah pertama adalah memutuskan pada sheet mana yang perlu kita lindungi menggunakan kata sandi dan kita perlu memanggil sheet dengan namanya dengan menggunakan Objek Worksheet vba.

Misalnya Anda ingin memproteksi sheet dengan nama "Master Sheet" maka Anda perlu menyebutkan nama worksheet seperti di bawah ini.

Langkah 2: Tentukan Variabel Lembar Kerja

Setelah menyebutkan nama lembar kerja, beri titik, tetapi kami tidak melihat daftar IntelliSense apa pun untuk dikerjakan, ini membuat pekerjaan menjadi sulit. Untuk mendapatkan akses ke daftar IntelliSense, tentukan variabel sebagai lembar kerja.

Kode:

 Sub Protect_Example1 () Dim Ws As Worksheet End Sub 

Langkah 3: Berikan Referensi Lembar Kerja

Sekarang atur referensi lembar kerja ke variabel sebagai Lembar Kerja ("Lembar Induk") .

Kode:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") End Sub 

Sekarang variabel "Ws" memegang referensi dari lembar kerja yang dinamai "Lembar Induk". Dengan menggunakan variabel ini kita dapat mengakses daftar Intellisense.

Langkah 4: Pilih Metode Proteksi

Pilih metode "Proteksi" dari daftar IntelliSense.

Langkah 5: Masukkan Kata Sandi

Tentukan kata sandi dalam tanda kutip ganda.

Kode:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub 

Langkah 6: Jalankan Kode

Jalankan kode secara manual atau menggunakan tombol pintas F5 kemudian, itu akan melindungi lembar bernama "Master Sheet" .

Ketika sheet diproteksi, jika kita ingin melakukan modifikasi maka akan muncul pesan error seperti gambar di bawah ini.

Jika Anda ingin melindungi lebih dari satu lembar maka kita perlu menggunakan loop, di bawah ini adalah contoh kode untuk melindungi lembar.

 Sub Protect_Example2 () Dim Ws As Worksheet Untuk Setiap Ws Di ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub 

Catatan: Gunakan parameter lain untuk bereksperimen.