Hvordan bruke VBA til å lage en Counter

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.