Hai Nurani,

Methods OnTime :
  *Application.OnTime Method*
Schedules a procedure to be run at a specified time in the future (either
at a specific time of day or after a specific amount of time has passed).

*Syntax*

*expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)*

*expression*   A variable that represents an *Application* object.

*Parameters*
  *Name* *Required/Optional* *Data Type* *Description* *EarliestTime*
Required *Variant* The time when you want this procedure to be run.
*Procedure* Required *String* The name of the procedure to be run.
*LatestTime* Optional *Variant* The latest time at which the procedure can
be run. For example, if *LatestTime* is set to *EarliestTime* + 30 and
Microsoft Excel is not in Ready, Copy, Cut, or Find mode at *EarliestTime*
because another procedure is running, Microsoft Excel will wait 30 seconds
for the first procedure to complete. If Microsoft Excel is not in Ready
mode within 30 seconds, the procedure won’t be run. If this argument is
omitted, Microsoft Excel will wait until the procedure can be run.
*Schedule* Optional *Variant* *True* to schedule a new OnTime procedure.
*False* to clear a previously set procedure. The default value is *True*.

*Remarks*

Use Now + TimeValue(time) to schedule something to be run when a specific
amount of time (counting from now) has elapsed. Use TimeValue(time) to
schedule something to be run a specific time.

Jadi, baris kode berikut :
     Application.OnTime Now + TimeValue("00:00:01"), procedure:="Timer",
schedule:=True
artinya,
Excel akan menjalankan prosedur bernama 'Timer' (Anda sudah punya prosedur
ini belum? Prosedurnya bisa diakses dari mana saja atau tidak?) yang
terjadwal [Schedule bernilai TRUE] pada 1 detik [TimeValue("00:00:01")]
setelah [+] waktu saat ini [Now]

Jadi, buatlah sebuah prosedur ber-scope *public* (supaya bisa diakses
darimana saja) di sebuah general module. Misal bernama *MulaiTimernya*. Isi
prosedur tersebut dengan perintah :
    Sheet1.Range("G8").Value = Now
    Application.OnTime Now + TimeValue("00:00:01"), procedure:="
*MulaiTimernya*", schedule:=*True*

Lalu, buat juga prosedur ber-scope *public *(supaya bisa diakses darimana
saja) di sebuah general module untuk menghentikan timer yang dijalankan
oleh si prosedur *MulaiTimernya*, misal prosedur penghentinya bernama
*HentikanTimernya*. Isi prosedur tersebut dengan perintah :
    Application.OnTime Now + TimeValue("00:00:01"), procedure:="
*MulaiTimernya*", schedule:=*false*

Ketika membutuhkan pengaktifan timernya, panggil prosedur bernama
*MulaiTimernya*
Ketika membutuhkan penghentian timernya, panggil prosedur bernama
*HentikanTimernya*

Silakan diatur sendiri ya...

--------------------------------
Terkadang, menggunakan sebuah variabel bertipe Boolean yang ber-scope
public juga bermanfaat.
Misal, disebuah general module dideklarasikan variabel status schedule si
timer dengan scope public
    Public *bJalankanTimer *as boolean

Lalu, dibuat sebuah prosedur ber-scope public berisi proses dengan methods
OnTime, seperti prosedur bernama MyTimerNih
public sub *MyTimerNih*()
    if *bJalankanTimer* then
        Sheet1.Range("G8").Value = Now
    endif
    Application.OnTime Now + TimeValue("00:00:01"), procedure:="*MyTimerNih*",
schedule:=*bJalankanTimer*
end sub

Di bagian yang membutuhkan pengaktifan timer, diperintahkan bergini :
     *bJalankanTimer*=true
     *MyTimerNih*
Sedangkan di bagian yang membutuhkan stop timer, diberi perintah begini :
*     bJalankanTimer*=false

---------------------------
Yang lebih jarang lagi yang begini :
Dengan kemudahan penggunaan input parameter, bisa disusun prosedur pengatur
timer seperti prosedur berikut :
public sub *TimernyaSiKid*(optional bAktifkan as boolean=true)
     if bAktifkan then
             Sheet1.Range("G8").Value = Now
    endif
     Application.OnTime Now + TimeValue("00:00:01"), "*TimernyaSiKid*",
schedule:=bAktifkan
end sub

Lalu dibagian yang membutuhkan pengaktifan timer diberi perintah untuk
memanggil si prosedur timernya. Dengan contoh prosedur di atas, seperti
begini bunyi perintah pengaktifannya :
    *TimernyaSiKid*
Sedangkan di bagian yang membutuhkan penghentian timer, diberi perintah
untuk memanggil si prosedur timernya dengan menyertakan nilai parameter
bAktifkan yang bernilai FALSE. Dengan contoh prosedur di atas, bunyinya
begini :
    *TimernyaSiKid* FALSE

------------------------------
Begitulah kira-kiranya...
Pokoke diambil asiknya aja...

Wassalam,
Kid


On Tue, May 26, 2015 at 9:37 AM, nurani alkena alkenanur...@yahoo.com
[belajar-excel] <belajar-excel@yahoogroups.com> wrote:

>
>
> Mr... saya sudah coba prosedur diatas.
> tetapi saya ingin menambahkan modifikasi pada timernya...
> ketika saya protect worksheet maka timer aktif.
> tetapi ketika unprotect worksheet maka timer tidak aktif
> saya sudah coba prosedurnya seperti ini tapi gagal trs.
>
>
> mohon dibetulkan
>
> Sub Workbook_Activate()
> Sheet1.Protect ("123")
>
> If Sheet1.Protect("123") = True Then
> Sheet1.Range("G8").Value = Now
> Application.OnTime Now + TimeValue("00:00:01"), procedure:="Timer",
> schedule:=True
> End If
>
> If Sheet1.Unprotect("123") = True Then
> Sheet1.Range("G8").Value = Now
> Application.OnTime Now + TimeValue("00:00:01"), procedure:="Timer",
> schedule:=False
> End If
> End Sub
>
>
>
>
>   On Monday, May 25, 2015 11:42 PM, "nurani alkena alkenanur...@yahoo.com
> [belajar-excel]" <belajar-excel@yahoogroups.com> wrote:
>
>
>
>  sudah. mr terima kasih. maaf blm sempat balas.
>
> saya tertarik dengan fitur jam...
>
> saya coba pake rumus manual =now() pada cell tetap tidak berubah. kecuali
> kalau saya close kemudian open lg. baru menyesuaikan jam saat ini. memang
> kelemahannya seperti itu. bagaimana untuk mengatasinya sesuai dengan fitur
> jam pada umumnya. thanks
>
>
>
>   On Monday, May 25, 2015 10:35 PM, "Toby kenzo tobyke...@yahoo.co.id
> [belajar-excel]" <belajar-excel@yahoogroups.com> wrote:
>
>
>
>  Dear Ani,
> Yg kemarin itu gimana,udah clearkah..
> Di emai2 sebelumnya sudah di jelaskan cara pembuatan jam digital dlm
> worksheet begitupula kelemah2annya,coba kamu check lagi email2 sebelumnya.
> TerimaKasih.
> Sent from Yahoo Mail on Android
> <http://overview.mail.yahoo.com/mobile/?.src=Android>
>
>  ------------------------------
> * From: * alkenanur...@yahoo.com [belajar-excel] <
> belajar-excel@yahoogroups.com>;
> * To: * <belajar-excel@yahoogroups.com>;
> * Subject: * Re: [belajar-excel] Cara membuat jam digital pada excel
> * Sent: * Mon, May 25, 2015 2:30:14 PM
>
>
>  sorry mr. mau tanya
> sifat time di worksheet excel tetap ya ?
> artinya time tersebut berubah ketika kita membuka file tersebut kembali?
> kalo mau buat jam di worksheet ms. excel pengkodeannya bagaimana ???
> terima kasih
>
>
>
>
>
>   
>
  • Re: [belajar-exce... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
      • Re: [bel... Toby kenzo tobyke...@yahoo.co.id [belajar-excel]
      • Re: [bel... Toby kenzo tobyke...@yahoo.co.id [belajar-excel]
        • Re: ... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
          • ... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
    • Re: [belajar... alkenanur...@yahoo.com [belajar-excel]
      • Re: [bel... Toby kenzo tobyke...@yahoo.co.id [belajar-excel]
        • Re: ... nurani alkena alkenanur...@yahoo.com [belajar-excel]
          • ... nurani alkena alkenanur...@yahoo.com [belajar-excel]
            • ... 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
  • Re: Bls: [belajar... Hendrik Karnadi hendrikkarn...@yahoo.com [belajar-excel]

Kirim email ke