Senin, 14 Mei 2012

Membuat Hyperlink dengan Worksheet_Event (Sebuah Alternatif)

Hyperlink adalah salah satu fasilitas di Excel yang sangat membantu dalam mempermudah navigasi sebuah workbook. Membuat hyperlink juga sangat mudah. Tulisan kali ini adalah membuat Hyperlink dengan metode yang sedikit berbeda dengan biasanya.
Cara ini saya gunakan dalam pembuatan menu pada APLIKASI RAPORT 2011-2012 yang diupload di blog ini.
Metode yang digunakan adalah dengan memanfaatkan salah satu Worksheet_Events, yakni Worksheet_SelectionChange. Sebelum membahas langkah pembuatan hyperlink, perlu dibahas sedikit tentang Worksheet_Events.


Tentang Worksheet_Events
Sebagai salah satu objek dalam VBA Excel, Worksheet mempunyai events bawaan yang bisa dimanfaatkan. Beberapa events yang bisa digunakan adalah:
  1. Worksheet_Activate() bekerja pada saat sheet diaktifkan.
  2. Worksheet_BeforeRightClick() Bekerja pada saat sheet tersebut diklik kanan (nama sheetnya)
  3. Worksheet_Deactivate(), bekerja pada saat kita pindah dari sheet tersebut ke sheet lain
  4. Worksheet_SelectionChange() bekerja ketika sel aktif berubah (perpindahan kursor)
  5. Worksheet_Change() bekerja ketika terjadi perubahan nilai sel pada worksheet
  6. dan lain-lain
Untuk menggunakan Worksheet-Events, kita klik kanan nama sheet dimaksud, kemudian pilih View Code.


Pada jendela VBA, ada tulisan "General", kita pilih Worksheet


Secara otomatis, di layar akan tertulis Private Sub Worksheet_SelectionChange(ByVal Target As Range). Jika kita ingin memilih event yang lain, maka di  sebelah kanan, pada bagian Procedure, kita pilih event yang diinginkan, maka di layar akan tertulis pivate sub yang dimaksud. 

Apa saja kode yang bisa ditulis? Kode apapun bisa ditulis, mulai dari sekedar hanya menampilkan pesan seperti MessageBox hingga kode-kode canggih yang lain.
Yang perlu menjadi catatan, kode Target pada event SelectionChange adalah Sel yang di-Klik pada worksheet, sedang Target pada event Change adalah sel yang berubah nilainya.

Langkah Membuat Hyperlink :
  • Siapkan sheet untuk Hyperlink misalnya di "Sheet1" lengkap dengan tulisan pada sel yang akan digunakan. Seperti gambar :


  • Klik kanan nama sheet lalu pilih View Code seperli langkah di atas
  • Pilih Worksheet pada bagian General, sehingga secara otomatis akan muncul tulisan seperti di bawah ini:



  • Tuliskan kode berikut:

 Kode di atas, adalah contoh kode yang sederhana. Memang daripada menggunakan IF yang banyak seperti di atas, lebih enak menggunakan Select Case.

  • Cobalah menguji hasilnya.


Kenapa repot-repot menggunakan Worksheet_events segala kalau menggunakan Hyperlink biasa saja sudah cukup? Keuntungannya adalah kita bisa berkreasi dengan menambahkan kode-kode lain seperti menampilkan pesan, menyembunyikan sheet-sheet lain yang sedang tidak aktif, dan lain sebagainya.


Pada workbook lampiran, saya sertakan :

  1. Sheet1 : seperti langkah di atas
  2. Sheet2 : Kodenya menggunakan Select Case
  3. Sheet3 : Kodenya beda
  4. Sheet4 : Sekaligus menyembunyikan sheet - sheet lain selain sheet yang dituju. 
  5. Sheet5 : Menambahkan pesan
Workbook bisa didownload di sini



Artikel Terkait:

20 komentar:

Khotim Fauzi mengatakan...

Terimakasih Pak Guru..! Ilmu yang sangat bermanfaat.

ABIYA BLOGGER mengatakan...

salam kenal mas, assalamua'alaikum wr.wb. thank's mas ga sia-sia lembur malam untuk cari cara membuat pemograman dengan excel. ternyata sudah dapat dari mas sya sangat senang sekali karna ini membantu saya bertugas dibagian administrasi perkantoran sekolah juga. izin mas copy dan donlot artikel. mas saya dari kab.langkat, prov. sumatera utara, menjabat sebagai Kepala Tata Usaha MTs Negeri STabat Kab. Langkat. sekali lagi terima kasih mas...mudah2an Allah memberikan cucuran rahmat dan karunia-Nya kepada mas dan diberikan tambahan ilmu dan dapat memberikan ilmunya secara gratis diblog ini. saya berharap mudah2an Allah memberikan rizki yang banyak kepada mas, dimudahkan segala urusannya, dan sehat wal afiat selal.

Udin Haeruddin mengatakan...

sama sama

Udin Haeruddin mengatakan...

Salam kenal juga pak ABIYA. Terima kasih sudah mampir.

Nandang Nurjiyad mengatakan...

ass. salam kenal mas Heru, saya adalah guru bahasa arab di salahsatu pesantren alumni Gontor. Sudah lebih dari dua bulan saya membaca dan memahami setiap postingan dari mas heru, dan alhamdulillah semuanya sangat bermanfaat. saya sudah dapat membuat beberapa aplikasi yang dibutuhkan di tempat saya mengajar. kemudian setelah membaca tentang worksheet event, saya sangat tertarik dengan hal itu. bisakah mas Heru memberikan contoh penggunaan Worksheet_BeforeRightClick(). sebelumnya saya ucapkan terimakasih. Wass.

Udin Haeruddin mengatakan...

Wa'alaikum salam

Contoh:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "Oke dech"
End Sub

Dengan kode di atas, setiap sebuah sel di worksheet tersebut di klik kanan, maka sebelum muncul PopUp Menu sebagaimana biasa, akan muncul kotak pesan terlebih dahulu.

Bahkan untuk tingkat lanjut, kita bisa menambahkan menu pada PopUp Menu yang sudah ada.

Nandang Nurjiyad mengatakan...

terimakasih mas Heru. sudah saya coba dan berhasil.

Anonim mengatakan...

wah ini nih yg saya tunggu-tunggu...makasih

Salam...[wawan-tawon]

Anonim mengatakan...

Mas! blognya bagus, saya banyak belajar dari blog ini. Mas request tutorial bikin soal pilihan ganda dong! yang ada option buttonnya gitu.

Makasih "Dayat=Depok"

Harjo mengatakan...

Mas Heru... Oke juga nih ilmu... baru ngudeng...
nah ada permasalahan baru buat saya...
"membuat Gyperlink dengan Worksehtt_event (Sebuah Alternatif)" dengan melalui cell sudang ngudeng.. yang belom ngudeng dengan menggunakan Shape Setiap Linknya.. biar cuantik blink2 gitu... mohon pencerahannya

Sahri Bin Ahmad mengatakan...

Salam kenal mas,,,
saya sahri,,,
mohon bantuan dong,,,
saya mo coba menghubungkan sheet1 dengan sheet dua dengan isi yang berbeda,,,tapi ketika saya menambahkan bariss,,,sheet duanya ikut nambah barisnya juga di posisi yang sama,,,caranya gimana ya mas,,,
mehon pencerahan,,,masihh belajarr niee mas,,

GERAKAN PRAMUKA MAN PADANGAN mengatakan...

TERIMA KASIH MAS SANGAT BERMANFAAT INI TUTORIALNYA, SAYA ANAK BOJONEGORO, BANYAK YANG AKU PELAJARI DARI SINI. SAYA JUGAK PENGEN BISA TENTANG MEMBUAT MENU PILIHAN TANGGAL, BULAN DAN TAHUN YANG BISA JADI 1. (Milih Tahun dulu, baru bulan lalu tanggalnya, dan bisa muncul di kolom yang telah ditentukan. ( 01 Januari 2188 ).

salam kenal sangking Mas (Abdul Sukur).

GERAKAN PRAMUKA MAN PADANGAN mengatakan...

TERIMA KASIH MAS SANGAT BERMANFAAT INI TUTORIALNYA, SAYA ANAK BOJONEGORO, BANYAK YANG AKU PELAJARI DARI SINI. SAYA JUGAK PENGEN BISA TENTANG MEMBUAT MENU PILIHAN TANGGAL, BULAN DAN TAHUN YANG BISA JADI 1. (Milih Tahun dulu, baru bulan lalu tanggalnya, dan bisa muncul di kolom yang telah ditentukan. ( 01 Januari 2188 ).

salam kenal sangking Mas (Abdul Sukur).

Anonim mengatakan...

ilmunya sangat bermanfaat , terima kasih banyak semoga pahalanya terus mengalir seiring dengan menyebarnya ilmu...

Ahmad Lalu mengatakan...

selamat pagi pak, saya mau tanya.
Misalkan saya punya 2 sheet masing-masing Menu dan Input Mapel, nah di sheet Input Mapel saya bikin command button active X. Bagimana caranya ketika command button tersebut diklik akan langsung ke Sheet Menu.
Terima kasih sebelumnya

Anonim mengatakan...

mau tanya, bagaimana rumus macro, agar sheet yang kita maksud selalu tampil saat file dibuka... terimakasih

Ridwan Aldursanie mengatakan...

Assl. perkenalkan nama saya Ridwan, mas mau tanya:
bagaimana caranya membuat link di excel dalam satu sheet.
misalnya saya ingin membuat dokumen yang panjang, kalau gulung roll kan lama, maka harus dibuat link kembali ke atas agar cepet....
terima kasih sebelumnya...

kunjungi:
http://ridwan202.wordpress.com

wawan mengatakan...

'untuk link all sheet ke sheet master atau active sheet
Sub linkAllSheet()
dim ws as worksheet
row= 1
for each ws in Sheets
'buka sheet active yang mau dijadikan hyperlink all sheet
thisworkbook.ActiveSheet _
Cells(Row,1) = ws.name
ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(row,1),Address:="",SubAddres:="'" &ws.name &"'A1
row = row + 1
next ws
Msgbox "trims by wawang
end sub

Anonim mengatakan...

selamat malam pak guru tolong berikan pencerahan..

saya mau membuat satu sheet utama yang di link kan ke beberapa sheet (sheet sekunder), tetapi sheet sekunder tersembunyi, sheet sekunder bisa tampil jika diklik (dipanggil) dari sheet utama dan di dalam sheet sekunder ada perintah untuk kembali ke sheet utama.

terima kasij

Hendry Mu2 mengatakan...

Malam mas
bagaimana cara membuat tab antar sheet. namun sheetnya dibuat tersembunyi.

Regards

Hendry