Rabu, 30 Oktober 2013

Re: [belajar-excel] Macro Excel



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, 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 <bagus@kingjim.co.id>

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 -----
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




__._,_.___


=====================================================================
Untuk memudahkan tim penyusun materi Belajar Excel yang lebih sesuai kebutuhan member, silakan ungkapkan permasalahan yang kerap ditemui dalam menggunakan Excel sehari-hari atau hal-hal yang ingin dipelajari dalam jangka dekat ini. Mohon diprioritaskan dari yang sering ditemui sampai yang ingin dipelajari.
Isi sesuai kelompoknya (fitur-fitur, formula-formula tertentu yang masih membingungkan, otomasi atau pemrograman dalam Excel [Macro - VBA], hal lainnya yang membuat Anda kesulitan dalam mempelajari Excel).
Boleh mengisi berulang kali untuk menambah uneg-uneg yang ingin diungkapkan.
Link untuk menuangkan seluruh uneg-uneg tersebut ada di :
http://tech.groups.yahoo.com/group/belajar-excel/database?method=addRecord&tbl=3
=====================================================================
Langkah kecil Anda dalam mengisi database bisa menjadi langkah pertama yang bermanfaat besar untuk kita semua.
=====================================================================

---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
belajar-excel-subscribe@yahoogroups.com

posting ke milis, kirimkan ke:
belajar-excel@yahoogroups.com

berkunjung ke web milis
http://tech.groups.yahoo.com/group/belajar-excel/messages

melihat file archive / mendownload lampiran
http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di :
http://milis-belajar-excel.1048464.n5.nabble.com/

menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com

keluar dari membership milis (UnSubscribe):
kirim mail kosong ke  belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------




Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

Tidak ada komentar:

Posting Komentar