Belajar Microsoft Excel: Menghambat Save As| Print Dan Insert Sheet

Sebagai pembuat suatu template laporan , mungkin kita tidak menghendaki user melaksanakan langkah-langkah tertentu. Misalnya melaksanakan save as , print , insert sheet , dan sebagainya. Dengan menyertakan sedikit code vba , kita sanggup me-manage interaksi antara user dengan spreadsheet yang kita buat. Nah , jex-cel sudah mencatat beberapa pola code yang sanggup dipakai untuk menangkal user melakukan command tertentu di excel.

1. Mencegah Save As
2. Mencegah print
3. Mencegah print sheet tertentu
4. Mencegah insert sheet

Mencegah User Melakukan Save As

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:

Code VBA untuk menangkal Save As

Setelah code di copy paste atau diketik di modul object thisworkbook , silahkan coba kerjakan proses Save As

Baca Juga  Belajar Microsoft Excel: Macro Untuk Menyaksikan Dan Menyembunyikan Comment Excel

Maka akan timbul pesan menyerupai pada gambar di bawah ini:

Pesan tidak sanggup save as

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.

pesan tidak sanggup print

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:

Baca Juga  Belajar Microsoft Excel: Penerapan Rumus If Pada Excel


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

pesan tidak sanggup print sheet

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.

pesan tidak sanggup tambah sheet baru

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

Baca Juga  Belajar Microsoft Excel: Cara Menetralisir Spasi Berlebih Pada Text

Need Help? Chat with us