Membuat Stopwatch Dengan VBA Excel

Masih berhubungan dengan Jam, setelah kemarin membuat jam digital pada userform, hanya perlu mengedit sedikit kita bisa ubah jam digital tersebut menjadi sebuah Stopwatch. Dengan stopwatch ini kita bisa melakukan pencatatan waktu yang digunakan. Agar terlihat beda, saya buat design yang baru pada Form Stopwatch ini. Untuk Hasilnya bisa dilhat pada gambar dibawah ini.

Seperti biasa, langkah pertama untuk membuat stopwatch dengan Excel VBA adalah masuk ke Visual Basic Editor dengan menekan ALT+F11 atau melalui Menu Develover. Insert sebuah UserForm dan design UserForm dengan Control yang ada pada toolbox seperti diatas. Design boleh bebas sesuai selera sendiri tapi ada beberapa control yang harus sesuai penamaanya agar sesuai dengan script dan tidak error ketika dijalankan.

Beberapa control yang penting dan penamaannya harus sama. agar ketika script dicopy dan dijalankan tidak menimbulkan Error : Object Not Found atau jika sudah terbiasa dengan VBA silahkan sesuaikan script dengan nama label yang digunakan.

Type ControlPropertyKeterangan
LabelName : LbStwatchUntuk Timer Stopwatch
LabelName : LBButton
Caption : Start
Untuk Button Start
LabelName : LBLap1, LBLap2, LBlap3Untuk Lap
LabelName :LBLapT1, LBLapT2, LBLapT3Untuk Lap Timer

Setelah tahap design selesai, script yag digunakan untuk membuat Stopwatch adalah sebagai berikut:

Dim Berhenti As Boolean
Private Sub Waktu()
Dim Mulai As Date
Mulai = Time
Berhenti = False
Do Until Berhenti
    sekarang = Time - Mulai
    LBStwatch.Caption = Format(sekarang, "hh:mm:ss")
    DoEvents
Loop
End Sub

Private Sub LBbutton_Click()
If LBbutton = "Start" Then
    LBbutton.Caption = "Stop"
    If LBLap1.Visible And LBLap2.Visible And LBLap3.Visible Then Call StartLabel
    Call Waktu
Else
    LBbutton.Caption = "Start"
    
    If Not LBLap1.Visible Then
        LBLap1.Visible = True
        LBLapT1.Visible = True
        LBLapT1.Caption = LBStwatch.Caption
        Berhenti = True
    ElseIf Not LBLap2.Visible Then
        LBLap2.Visible = True
        LBLapT2.Visible = True
        LBLapT2.Caption = LBStwatch.Caption
        Berhenti = True
    ElseIf Not LBLap3.Visible Then
        LBLap3.Visible = True
        LBlapT3.Visible = True
        LBlapT3.Caption = LBStwatch.Caption
        Berhenti = True
    End If
    LBStwatch.Caption = "00:00:00:"
End If
End Sub
Private Sub StartLabel()
LBLap1.Visible = False
LBLap2.Visible = False
LBLap3.Visible = False
LBLapT1.Visible = False
LBLapT2.Visible = False
LBlapT3.Visible = False
End Sub

Private Sub UserForm_Initialize()
Call StartLabel
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Berhenti = True
Unload Me
End Sub

Jika semua sesuai, hasil dari script diatas adalah seperti dibawah ini.

Jika mengalami kesulitan, File stopwatch bisa di unduh melalui halaman menu download.