Hvordan bruke VBA til å lage en Counter
Opprette en disk med Visual Basic for Applications (VBA) kan enkelt gjøres ved hjelp av et brukergrensesnitt (UI) eller et skjema. VBA er et programmeringsspråk som brukes i noen av Microsoft Office-programmer som Excel. I Excel, kan du lage et skjema med kontroller som etiketter og knapper for å starte, stoppe, gjenoppta og avslutte en teller. Den beste måten å skape en tidtaker er ved hjelp av en "For ... Loop" og oppdatere en etikett med den nyeste tid før brukeren bestemmer seg for å stoppe eller avslutte disken.
Bruksanvisning
1 Start Microsoft Office Excel, klikk på "Utvikler" og klikk "Visual Basic" for å starte VB Editor vinduet. Klikk på "Insert" -menyen og klikk "Userform" for å legge til en ny form. Klikk "Label" fra "Toolbox" -panelet, og klikk på skjemaet for å legge en ny etikett. Klikk "Command Button" og klikk på skjemaet for å legge til en ny knapp. Legg tre kommandoknappene ved å bruke den samme teknikken.
2 Høyreklikk skjemaet og klikk på "Vis kode" for å vise koden modulen. Legg til følgende kode for å opprette seks globale variabler i denne modulen:
Offentlig stp Som boolsk
offentlig OldH
offentlig oldm
offentlige åringer
offentlig OLDMLN
3 Kopier og lim inn følgende kode for å opprette en ny klikk arrangement for "CommandButton1" for å starte tidtakeren:
stp = False
CommandButton1.Enabled = False
CommandButton2.Enabled = True
CommandButton3.Enabled = False
H = 0
For M = 0 til 59
For S = 0 til 59
For MLN = 0 til 59
t = Timer
Gjør Inntil Timer - t> = 1/60
DoEvents
Loop
Hvis stp = True Deretter GoTo X
Label1.Caption = _
Format (H, "00") og ":" & Format (M, "00") _
& ":" & Format (S, "00") og ":" & Format (MLN, "00")
Neste MLN
Neste S
Neste M
H = H + 1
X:
OldH = H
Oldm = M
Åringer = S
OLDMLN = MLN
stp = False
4 Kopier og lim inn følgende kode for å opprette et klikk begivenhet for "CommandButton2" som vil gjøre "CommandButton1" og "CommandButton3:"
Private Sub CommandButton2_Click ()
CommandButton1.Enabled = True
CommandButton2.Enabled = False
CommandButton3.Enabled = True
stp = sant
End Sub
5 Kopier og lim inn følgende kode for å opprette et klikk begivenhet for "CommandButton3" for å gjenoppta timer:
Private Sub CommandButton3_Click ()
CommandButton3.Enabled = False
CommandButton2.Enabled = True
CommandButton1.Enabled = False
stp = False
H = OldH
For M = oldm til 59
For S = åringer til 59
For MLN = OLDMLN til 59
t = Timer
Gjør Inntil Timer - t> = 1/60
DoEvents
Loop
Hvis stp = True Deretter GoTo X
Label1.Caption = _
Format (H, "00") og ":" & Format (M, "00") _
& ":" & Format (S, "00") og ":" & Format (MLN, "00")
Neste MLN
Neste S
Neste M
H = H + 1
X:
OldH = H
Oldm = M
Åringer = S
OLDMLN = MLN
stp = False
End Sub
6 Opprett et klikk begivenhet for "CommandButton4" for å lukke programmet:
Private Sub CommandButton4_Click ()
Unload Me
Slutt
End Sub
7 Legg til følgende kode for å definere bildetekster for etiketten og knappene under oppstart:
Private Sub UserForm_Initialize ()
CommandButton1.Enabled = True
CommandButton1.Caption = "Start Timer"
CommandButton2.Enabled = False
CommandButton2.Caption = "Stopp"
CommandButton3.Enabled = False
CommandButton3.Caption = "Gjenoppta Timer"
CommandButton4.Caption = "Avbryt"
Label1.Caption = "00: 00: 00: 00"
End Sub
8 Legg til følgende kode for å avslutte programmet:
Private Sub UserForm_QueryClose (Avbryt As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
9 Dobbeltklikk på "UserForm1" fra "Object Explorer" vinduet og trykk "F5" for å kjøre programmet. Klikk "Start Timer" for å starte disken, klikk på "Stop" for å stoppe det, og klikk "Fortsett Timer" for å gjenoppta disken. Klikk på "Avbryt" for å avslutte programmet.