mr. kid
terima kasih atas penjelasannnya yang gamblang walaupun pemahaman saya masaih kurang, saya coba telaah dulu dan saya laporkan ke milis terima kasih amin ________________________________ Dari: Mr. Kid <[email protected]> Kepada: [email protected] Dikirim: Kamis, 22 November 2012 21:42 Judul: Re: [belajar-excel] verify data setiap 2 jam sekali Ops opsinya bukan bukan Current Module, tetapi pilih Current Project atau Current VBAProject gitu... hehehe... Wassalam, Kid. 2012/11/22 Mr. Kid <[email protected]> Coba juga untuk mengubah nama prosedur SetTimer dengan nama lain seperti SetMyTimer >Caranya : >1. aktifkan Module1 >2. CTRL H >3. Find : SetTimer ; Replace : SetMyTimer ; opsi pilih CurrentModule >; tekan Replace All >4. ganti bagian Find bertuliskan StopTimer ; replace menjadi StopMyTimer ; >opsi pilih current module ; tekan replace all >5. tekan Cancel >6. save workbook dan tutup workbook >7. buka lagi workbooknya > >Wassalam, >Kid. > > >2012/11/22 Mr. Kid <[email protected]> > > >Application.OnTime tidak ada bedanya antara xl2007 dengan versi lainnya. >> >>Script aktifkan pesan thread agar prosedur SetTimer dijalankan diwaktu >>tertentu : >>Public Sub SetTimer() >> Dim lState As Long 'var status locked (0 = false alias bisa diubah isi >>cellnya, selainnya tidak bisa) >> Dim dtNext As Date 'data waktu akan dijalankannya lagi prosedur >>settimer ini >> >> dtNext = Now() 'nilai waktu awal >> lState = (Hour(dtNext) + 3) Mod 4 'set status >> Sheet1.Protect "Belajar-Excel", userinterfaceonly:=True 'proteksi sheet >> Sheet1.Range("i2").Locked = (lState <> 0) 'set properti locked milik >>cell i2 >> >> 'menentukan waktu untuk dijalankannya lagi prosedur settimer >> >> dtNext = Int(Now) + TimeValue(Hour(dtNext) & ":00:00") + TimeValue(2 - >>lState Mod 2 & ":00:00") >> >> 'proses pesan thread agar pada waktu dtNext, prosedur bernama SetTimer >>dijalankan >> >> Application.OnTime dtNext, "SetTimer" >>End Sub >> >>Script pembatalan pesanan thread proses di atas : >>Public Sub StopTimer() >> On Error Resume Next 'trap error >> >> 'batalkan pesanan thread >> >> Application.OnTime Now + TimeValue("00:00:01"), "SetTimer", >>schedule:=False >> >> 'clear error dan set trap error kembali seperti semula >> >> Err.Clear >> On Error GoTo 0 >>End Sub >> >>Jika masih error, coba : >>1. hapus dim dtNext as date dari dalam prosedur SetTimer >>2. buat deklarasi pada level module dengan scope public untuk variabel dtNext >>bertipe date (sebelum prosedur SetTimer = baris kedua dalam lembar script) >>public dtNext as date >>3. pada prosedur stoptimer bagian : >> >>Now + TimeValue("00:00:01") >> diubah menjadi : >>dtnext >> >>Wassalam, >>Kid. >> >> >> >> >>On Thu, Nov 22, 2012 at 8:12 PM, ngademin Thohari <[email protected]> >>wrote: >> >> >>> >>>mr. kid >>>sudi kah kiranya menjelaskan di bawah ini, saya masih bingung plus awam >>> >>>Option Explicit >>> >>>Public Sub SetTimer() >>> Dim lState As Long >>> Dim dtNext As Date >>> >>> dtNext = Now() >>> lState = (Hour(dtNext) + 3) Mod 4 >>> Sheet1.Protect "Belajar-Excel", userinterfaceonly:=True >>> Sheet1.Range("i2").Locked = (lState <> 0) >>> dtNext = Int(Now) + TimeValue(Hour(dtNext) & ":00:00") + TimeValue(2 - >>>lState Mod 2 & ":00:00") >>> Application.OnTime dtNext, "SetTimer" >>>End Sub >>> >>>Public Sub StopTimer() >>> On Error Resume Next >>> Application.OnTime Now + TimeValue("00:00:01"), "SetTimer", >>>schedule:=False >>> Err.Clear >>> On Error GoTo 0 >>>End Sub >>> >>>terima kasih >>> >>>amin >>> >>> >> >

