Bagaimana cara menyembunyikan/menampilkan lembar menggunakan vba?
Anda dapat menggunakan kode VBA untuk menyembunyikan atau memperlihatkan lembar di Excel. Saat Anda mengklik kanan pada tab lembar, Anda dapat melihat opsi untuk menyembunyikan atau menampilkannya, dan hal yang sama dapat Anda lakukan dengan kode VBA.
Pada artikel ini kita akan melihat beberapa cara dan metode yang dapat kita gunakan.
Kode VBA untuk menyembunyikan sheet
Katakanlah Anda ingin menyembunyikan “Sheet1” dari buku kerja yang aktif. Dalam hal ini Anda harus menggunakan kode seperti ini.
Sheets("Sheet1").Visible = False
Pada kode di atas, Anda mereferensikan Sheet1, menggunakan properti terlihat dan mengubahnya menjadi false.
Buat daunnya sangat tersembunyi
Ada opsi lain yang dapat Anda gunakan untuk membuat lembar yang sangat tersembunyi yang tidak dapat disembunyikan dengan mudah oleh pengguna.
Sembunyikan lembar berdasarkan nilai sel
Oke, jika Anda ingin menggunakan nilai sel daripada langsung menggunakan nama sheet di kode, Anda bisa merujuk ke sel ini.
Sheets(Range("A1").Value).Visible = True
Kode ini mereferensikan sel A1 dan menggunakan nilai di sana untuk merujuk ke lembar yang ingin Anda sembunyikan.
Tautan yang berguna: Jalankan makro – Perekam makro – Editor Visual Basic – Buku Pegangan Makro Pribadi
Periksa lembar itu sebelum menyembunyikannya
Anda juga dapat menggunakan kode kecil seperti ini untuk memeriksa sheet yang outputnya ingin Anda sembunyikan atau tidak.
Sub vba_hide_sheet() Dim sht As Worksheet For Each sht In ThisWorkbook.Worksheets If sht.Name = "Sheet1" Then sht.Visible = False Exit Sub End If Next sht MsgBox "Sheet not found", vbCritical, "Error" End Sub
Kode di atas menggunakan FOR EACH LOOP + IF STATEMENT untuk mengulang setiap lembar di buku kerja. Dan centang lembar yang ingin Anda sembunyikan.
Sembunyikan semua sheet (kecuali ActiveSheet)
Sekarang ada satu hal yang perlu Anda pahami, Anda tidak bisa menyembunyikan semua daunnya. Harus ada satu daun yang terlihat sepanjang waktu.
Sub vba_hide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ActiveSheet.Name <> ws.Name Then ws.Visible = False End If Next ws End Sub
Kode di atas mengulangi seluruh lembar di buku kerja, lalu mencocokkan nama setiap lembar dengan nama lembar aktif dan menyembunyikannya jika tidak cocok.
Kode VBA untuk menampilkan sheet
Untuk menampilkan sheet, Anda harus mengubah properti terlihat menjadi TRUE.
Sheets("Sheet1").Visible = False
Jika sheet yang ingin Anda tampilkan sudah terlihat, kode ini tidak akan menampilkan kesalahan apa pun. Namun jika sheet ini tidak ada, Anda akan mendapatkan error runtime ‘9’.
Gunakan VBA untuk menampilkan semua lembar tersembunyi
Bayangkan Anda memiliki beberapa lembar tersembunyi di buku kerja dan jika Anda ingin menyembunyikannya secara manual, Anda harus melakukannya satu per satu.
Tapi ini kode yang melakukan ini sekaligus.
Sub vba_unhide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ws.Visible = False Then ws.Visible = True End If Next ws End Sub
Dia memeriksa setiap daun dan membuka kedoknya.