Setelah baris berbunyi : IsLibur = True tambahkan : exit function
Wassalam, Kid. 2012/9/28 Kusnadi Bin zain <kbinz...@yahoo.co.id> > ** > > > Pak Aji > > Terima kasih respon dan penjelasannya, tapi maaf knapa masih FALSE ya > #tepuk jidad tetep sy gakmudeng# > > kusnadi > > > ------------------------------ > *Dari:* aji mumpung <pupung1...@gmail.com> > *Kepada:* belajar-excel@yahoogroups.com > *Dikirim:* Kamis, 27 September 2012 20:00 > *Judul:* Re: [belajar-excel] macro cari hari Libur > > > hai pak Kusnadi, > > Pertama, pak kusnadi berusaha mengecek apakah tanggal di cell a44 sampai > cell a56 adalah hari libur atau tidak dengan menggunakan prosedur IsLibur.. > sedangkan prosedur IsLibur yang dibuat oleh (alm) pak Masyhud .aka. Siti Vi > bukanlah udf yang dapat diakses dengan cara menekan tombol sama dengan "=" > di worksheet, karena fungsi tersebut dideklarasikan sebagai Private > function bukan sebagai Public function > > Kedua, jika pun prosedur tersebut diubah dari Private menjadi Public > sehingga dapat diakses dengan cara menekan tombol "=", cell yang akan diuji > adalah variabel HariHa yang berada di prosedur Cetcetcowet, karena fungsi > IsLibur ini adalah satu paket dengan prosedur yang bernama Cetcetcowet > > Lalu gimana? donk? kalo gitu udf-nya gak bisa dipakai dong? jawabnya >>> > BISA.. dengan melakukan sedikit modifikasi sebagai berikut: > > Pertama, sesuaikan dahulu luas range "LiburNas" karena yang dibuat oleh > (alm) pak Mashud .aka. Siti Vi adalah mulai cell a4 sampai a25, sedangkan > yang dibuat oleh pak Kusnadi adalah a4 sampai a22, di lain waktu mungkin > hari libur akan lebih banyak lagi sehingga batasan a25 tidak akan > mencukupi.. oleh sebab itu ada baiknya range "LiburNas" dibuat dinamis > > Kedua, ubah sedikit prosedur IsLibur dari Private menjadi Public agar > dapat muncul seperti fungsi Excel yang lain pada saat user menekan tombol > sama dengan "=" > > Ketiga, ubah rujukan nilai yang akan diuji dari HariHa (ada di prosedur > Cetcetcowet) menjadi D sesuai dengan variabel yang telah dideklarasikan > oleh (alm) pak Masyhud dalam fungsi IsLibur, setelah variabel tersebut > diubah maka pada akhirnya fungsi ini akan menjadi udf yang berdiri sendiri > dan terpisah dari prosedur Cetcetcowet > > kode lengkapnya gimana? > > Option Explicit > *Public* *Function* IsLibur(D As Date) As Boolean > ' =================================== > ' code by : Siti Vi 17 , juli 2008 > ' re-touch by: aji mumpung > ' gunung merbabu , 27 sept 2012 > ' =================================== > > Dim X As Range > Dim HdLbr As Range > Set HdLbr = Sheets("sheet1").Range("a4") > Set Liburnas = Range(HdLbr, HdLbr.End(xlDown)) > For Each X In Liburnas > If X.Value = D Then > IsLibur = True > Else > IsLibur = False > End If > Next X > End Function > > Yang diberi warna *biru* untuk memberitahu kepada Excel bahwa fungsi ini > dapat diakses langsung dari worksheet dengan menekan tombol sama dengan, > sama seperti fungsi di excel lainnya. > > Yang diberi warna *merah* untuk memberitahukan kepada excel bahwa > prosedur ini adalah merupakan fungsi yang akan langsung menampilan nilai > atau hasil dari suatu perhitungan > > Yang diberi warna *hijau* adalah range hari libur yang sudah dibuat > dinamis > > caranya pakainya gimana? > buka sebuah workbook baru, tekan tombol ALT F11 >>> Insert >>> Module > tulis code tersebut di module yang baru saja dibikin > Pada sheet1 pada kolom A mulai baris ke 4, tuliskan tanggal-tanggal libur > nasional > > jika semua langkah di atas diikuti, maka pada worksheet pada saat ditekan > tombol "=" maka akan muncul fungsi IsLibur. > > cmiiw (kata mbak'e Colek Me If I'm Wrong) > > wassalam, > > -aji mumpung- (cah angon seko gunung merbabu) > > Pada 27 September 2012 15:47, Kusnadi Bin zain <kbinz...@yahoo.co.id>menulis: > > ** > > Dear para Pakar XL > > Dulu saya pernah menerima macro spt terlampir > tapi kayaknya ada yang salah, sehingga Fungsi ISLIBUR tidak bisa jalan > > terus terang saya gak paham dimana kesalahannya, tolong jika ada yang bisa > membantu saya. > > Terima kasih > > Kusnadi > > > > > >