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

Kirim email ke