Hai Andree,

Dari script nya Pak Bagus, proses hide sheet bisa diletakkan pada sebuah
prosedur tersendiri dan dipanggil berulang-ulang oleh setiap prosedur milik
si tombol. Hal ini sudah dicontohkan oleh masOpik dan Pak Heru.

Andaikan bersedia mengamati lagi dongeng belajarVBA tentang prosedur
berargumen<http://b-excel.blogspot.com/2013/07/belajarvba-005-procedure-seri-2.html>,
maka bisa disusun seperti ini : (letakkan disebuah general module)

Public Sub HideSheetSelainSheet(  *sNamaSheet *as string )
       dim sht as worksheet

       on error resume next

        'trap error kalau user mengganti nama sheet karena tidak diprotect
structure workbooknya
       set sht=sheets( sNamaSheet )
       if err.number <> 0 then
              err.clear
              on error goto 0
              exit sub
       end if

       'buat visible dulu yang tidak boleh di-hide,
       'sehingga pasti ada 1 sheet yang sudah visible
       sheets( snamasheet ).visible= xlsheetvisible

       'loop semua sheet selain nama sheet yang tidak boleh di-hide
       for each sht in thisworkbook.worksheets
               if sht.name<>snamasheet then
                      sht.visible = xlsheetveryhidden
               endif
       next sht

       err.clear
       on error goto 0
end sub

kemudian, disetiap prosedur milik si tombol (ketika di click gitu), seperti
milik si Info Pelapor yang harus menampilkan Info Pelapor tapi meng-hide
yang lain. Pada tombol ini, nama sheet yang tidak boleh di-hide adalah
'Info Pelapor'.

Sub Info_Pelapor()

   'panggil prosedur tukang hide sheet selain sheet tertentu
   HideSheetSelainSheet *"Info_Pelapor"*

End Sub

nilai yang berbunyi *"Info_Pelapor"* adalah nama sheet yang tidak boleh
di-hide
jika memperhatikan bagian VBAExplorer (project explorer) di VBE, sheet
bernama *Info_Pelapor* memiliki nama object tertentu, misal di VBE bagian
project explorer ada daftar nama object sheet berbunyi begini :
Sheet123 (*Info_Pelapor*)

maka nama sheet yang berbunyi *Info_Pelapor *bisa didapatkan dengan bunyi
kode :
Sheet123*.Name*

artinya, baris kode
   HideSheetSelainSheet *"Info_Pelapor"*

bisa diganti dengan bunyi kode :
   HideSheetSelainSheet Sheet123*.Name*

Dengan demikian, misalkan nama sheet di workbook diganti namanya oleh user,
script tidak akan error walau tidak ada bagian trap error dalam prosedur
HideSheetSelainSheet selama si sheet gak di delete oleh user.

silakan dikembangkan untuk prosedur tombol yang lain yang berisi
pemanfaatan prosedur HideSheetSelainSheet

Wassalam,
Kid.



2013/10/30 Bagus <[email protected]>

> **
>
>
> **
> Dear Andre;
>
> Coba pada module1
>
> Sub Info_Pelapor()
> Sheets("Info_Jaringan_Kantor").Visible = xlSheetVeryHidden
> Sheets("Info_Manajemen").Visible = xlSheetVeryHidden
> Sheets("Info_Ketenagakerjaan").Visible = xlSheetVeryHidden
> Sheets("Info_Debitur").Visible = xlSheetVeryHidden
> Sheets("Info_Pelapor").Visible = xlSheetVisible
> Sheets("Info_Pelapor").Select
> End Sub
>
> Sub Info_Jaringan_Kantor()
> Sheets("Info_Pelapor").Visible = xlSheetVeryHidden
> Sheets("Info_Manajemen").Visible = xlSheetVeryHidden
> Sheets("Info_Ketenagakerjaan").Visible = xlSheetVeryHidden
> Sheets("Info_Debitur").Visible = xlSheetVeryHidden
> Sheets("Info_Jaringan_Kantor").Visible = xlSheetVisible
> Sheets("Info_Jaringan_Kantor").Select
> End Sub
>
> Sub Info_Manajemen()
> Sheets("Info_Pelapor").Visible = xlSheetVeryHidden
> Sheets("Info_Jaringan_Kantor").Visible = xlSheetVeryHidden
> Sheets("Info_Ketenagakerjaan").Visible = xlSheetVeryHidden
> Sheets("Info_Debitur").Visible = xlSheetVeryHidden
> Sheets("Info_Manajemen").Visible = xlSheetVisible
> Sheets("Info_Manajemen").Select
> End Sub
>
> Sub Info_Ketenagakerjaan()
> Sheets("Info_Manajemen").Visible = xlSheetVeryHidden
> Sheets("Info_Pelapor").Visible = xlSheetVeryHidden
> Sheets("Info_Jaringan_Kantor").Visible = xlSheetVeryHidden
> Sheets("Info_Debitur").Visible = xlSheetVeryHidden
> Sheets("Info_Ketenagakerjaan").Visible = xlSheetVisible
> Sheets("Info_Ketenagakerjaan").Select
> End Sub
>
> Sub Info_Debitur()
> Sheets("Info_Ketenagakerjaan").Visible = xlSheetVeryHidden
> Sheets("Info_Manajemen").Visible = xlSheetVeryHidden
> Sheets("Info_Pelapor").Visible = xlSheetVeryHidden
> Sheets("Info_Jaringan_Kantor").Visible = xlSheetVeryHidden
> Sheets("Info_Debitur").Visible = xlSheetVisible
> Sheets("Info_Debitur").Select
> End Sub
>
>
> Wassalam
>
> ~ Bagus ~
>
>
> ----- Original Message -----
> *From:* Andre Rahmaidy Teeza <[email protected]>
> *To:* [email protected]
> *Sent:* Wednesday, October 30, 2013 1:55 PM
> *Subject:* [belajar-excel] Macro Excel [1 Attachment]
>
>
>
>  Dear Be Exceller
>
> saya mau tanya mengenai coding vba untuk vba yang saya buat.  di kertas
> kerja excel saya ada sekitar 5 tombol ketika saya mengklik  tombol 1 akan
> muncul sheet yang diinginkan, setelah itu klik tombol 2   muncul sheet
> yang di inginkan, tapi sheet dengan tombol 1 tadi masih muncul.
> yang mau saya tanyakan gimana kode vbanya ketika tombol 2 di clik yang
> muncul hanya sheet yang sesuai dengan tombol 2 ,sedang kan sheet yang
> sesuai dengan tombol 1 tidak muncul (file terlampir).
>
>
> wassalam
> Andree
>
>  
>

Kirim email ke