1. Mencegah Save As
2. Mencegah print
3. Mencegah print sheet tertentu
4. Mencegah insert sheet
Mencegah User Melakukan Save As
Daftar Isi Artikel
Atas dasar argumentasi tertentu , mungkin kita tak ingin user melaksanakan save as dan mengubah nama file template yang kita buat. Untuk itu , kita sanggup menyisipkan code pada module workbook.
- Jika kita menghasilkan file gres , maka save dahulu file tersebut sebelum disisipkan code. Jika workbook gres belum di save , dan lalu kita menyisipkan code cegah save as maka file tersebut tidak akan sanggup di-save sama sekali.
- Tekan Alt F11 untuk masuk ke VBA editor.
- Masuk ke module object Thisworkbook (dengan cara double klik object thisworkbook di jendela project explorer)
- Copy code berikut pada module object thisworkbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean , Cancel As Boolean)
Dim responUser As Long
If SaveAsUI = True Then
responUser = MsgBox("Maaf , file tidak sanggup di save as dengan nama lain" _
& Chr(10) & "Apakah anda akan menyimpan saja?" , vbQuestion + vbOKCancel)
Cancel = (responUser = vbCancel)
If Cancel = False Then Me.Save
Cancel = True
End If
End Sub
Letak code dalam modul VBA sanggup dilihat dalam screenshot berikut:
Setelah code di copy paste atau diketik di modul object thisworkbook , silahkan coba kerjakan proses Save As
Maka akan timbul pesan menyerupai pada gambar di bawah ini:
Jika user menekan tombol ok , maka file akan disimpan biasa (bukan save as) dan tidak ada pergantian nama file. Jika user menekan cancel , maka pergantian tidak akan tersimpan.
Mencegah User Melakukan Print.
Karena menyaksikan banyak kertas print rampung di wilayah sampah atau tercecer / menumpuk di bawah meja kerja , kita sanggup mempunyai ide untuk menolong mengurangi kertas dengan cara menangkal user untuk melaksanakan print. Untuk itu kita sanggup menyisipkan code pada event before print di module thisworkbook.
- Tekan Alt F11 untuk masuk ke VBA editor
- Masuk ke module object Thisworkbook (dengan cara double klik object thisworkbook di jendela project explorer)
- Copy code berikut pada module object thisworkbook.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
MsgBox "Maaf anda tidak sanggup print buku kerja ini" , vbInformation
End Sub
Silahkan test dengan cara melakukan command print (File –> Print –> Tombol Print)
Maka user akan menyaksikan pesan pemberitahuan tidak bisa print , menyerupai gambar di bawah ini.
Kita sanggup saja menyisipkan code tanpa code pesan (msgbox) menyerupai berikut:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub
Code tersebut bahwasanya sudah cukup untuk menangkal user melaksanakan print. Namun bila tidak ada pesan pemberitahuan , maka kemungkinan besar user akan menyangka ada error dan mengejar-ngejar orang IT untuk memperbaikinya. Dengan kata lain , msgbox meski opsional tapi sungguh penting untuk memberi tahu user tentang apa yang dilarang dilaksanakan maupun yang mesti dilaksanakan sehingga sanggup menangkal adanya kesalahpahaman.
Mencegah print sheet tertentu
Jika kita ingin menangkal user melaksanakan print sheet tertentu saja maka gunakan code berikut:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Select Case ActiveSheet.Name
Case "Sheet1" , "Sheet2"
Cancel = True
MsgBox "Maaf anda tidak sanggup print " & ActiveSheet.Name , vbInformation
End Select
End Sub
Catatan:Â dalam pola di atas , nama sheet yang dicegah untuk diprint yakni “Sheet1” , “Sheet2”. Kita sanggup mengganti dan memperbesar sheet sesuai keperluan.
Misalnya:
Case “data 1” , “data 2” , “data 3”
Mencegah Insert Sheet
Excel bahwasanya sudah menawarkan fiture Protect Workbook’s Structure yang sanggup menangkal user untuk sanggup men-delete worksheet , mengganti susunan sheet , mengganti nama sheet dan sebagainya. Namun adakalanya kita cuma ingin menangkal user untuk menyertakan sheet gres dan tetap mengijinkan pergantian struktur lainnya.
Untuk menangkal user menyertakan sheet gres , kerjakan langkah menyerupai pola sebelumnya. Bedanya cuma pada code yang digunakan.
- Masuk ke VBA editor dengan cara tekan Alt + 11
- Selanjutnya Masuk ke module object Thisworkbook dengan cara double klik object thisworkbook di jendela project explorer
- Selanjutnya pada module object thisworkbook , copy code di bawah ini:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Application.DisplayAlerts = False
MsgBox "Maaf , anda tidak sanggup menyertakan sheet baru" , vbInformation
Sh.Delete
Application.DisplayAlerts = True
End Sub
Silahkan kerjakan test dengan cara menjajal tambahkan sheet baru. Maka akan tampil pesan menyerupai screenshot di bawah ini.
Sekian dahulu catatan tentang contoh-contoh code untuk menangkal user melaksanakan langkah-langkah tertentu pada excel , yaitu: menangkal save as , menangkal print dan menangkal insert sheet. Semoga bermanfaat.
Artikel terkait:
Teknik Find & Replace Text dalam Comment Box
Cara Entri Data Pada Beberapa Sheet Sekaligus
Cara Membuat Daftar Isi Otomatis
Referensi:
David Raina & Hawley 2007 , Excel Hack , Tips & Tools for Streamlining Your Spreadsheet , 2nd edition. O’Reilly Media , Inc

Seorang pengajar dan pembelajar yang mengurus lembaga pelatihan dan kursus komputer bernama LKP Naura