Hello,

First post. Sorry, this may be long. My VBA experience is very minimal.

Project in a nutshell:
I am creating a very basic way for our technicians to timestamp radio transitions, and a very basic transmission quality scoring (1-5). Here is a screenshot and explanation of what I have now,

VSS_UI.jpg

All of the references bellow will be for "Event 1" all the code for the different events is identical, except for cell references and button names.

A) This is a Harvard sentence that is pulled from the "Phrases" tab. This cell also has conditional formatting so that it will highlight green when the "Event start time" = "System Time" as a reminder for the user to transmit.
B) "Start" button. The user will press this button right before they transmit. When pressed this put the current time in the cell before it (C3). This also checks if there is already a time stamp in the cell and if there is has a message box to warn the user.
C) "Stop" button. This is identical to the "Start" button. The user will hit this button after they are finished transmitting.
D) "Clear All" button. This button will clear all the data from the "Start Time", "End Time" and "Score" columns. There is also a message box that will warn the user.
E) This is a dropdown that pulls a list of name from the "Users" tab
F) "Start System Time" button. This will start a function in excel to update cell (H1) with the current time every second.
G) This is the individual events start time. In event 1, event start time = start time (H). Event 2 start time = Event 1 start time + Interval (I) etc.
H) This is the initial start time for event 1. This is entered by the user.
I) This is the time between events. This is entered by the user.
J) "1-5" buttons. This is a basic scoring system. When the receiving operator hears the transmission they will score the quality. When one of the buttons (1-5) is pressed the score will be written to cell (D4)

Now onto the code. This will be from "Event 1" all the code for the other events is identical except for names and references. All of this code is in the "Sheet 1 "Data Entry"" file, with the exception of the system clock function (noted below).

"Start" button
Private Sub Start1_Click()
    If WorksheetFunction.CountA(Range("C3")) <> 0 Then
        Dim userOverwrite As Integer
        userOverwrite = MsgBox("This cell contains data! Do you want to continue?", vbYesNo + vbExclamation + vbDefaultButton2, "WARNING!")
            If userOverwrite = vbYes Then
                Range("C3").Value = Now()
            End If
    Else
        Range("C3").Value = Now()
    End If
End Sub
"Stop" button
Private Sub Stop1_Click()
    If WorksheetFunction.CountA(Range("E3")) <> 0 Then
        Dim userOverwrite As Integer
        userOverwrite = MsgBox("This cell contains data! Do you want to continue?", vbYesNo + vbExclamation + vbDefaultButton2, "WARNING!")
            If userOverwrite = vbYes Then
                Range("E3").Value = Now()
            End If
    Else
        Range("E3").Value = Now()
    End If
End Sub
"1-5" buttons
Private Sub Score1_2_Click()
    Range("D4").Value = "2"
End Sub

Private Sub Score1_1_Click()
    Range("D4").Value = "1"
End Sub

Private Sub Score1_3_Click()
    Range("D4").Value = "3"
End Sub

Private Sub Score1_4_Click()
    Range("D4").Value = "4"
End Sub

Private Sub Score1_5_Click()
    Range("D4").Value = "5"
End Sub
"Clear All" button
Private Sub clearContents_Click()
    userDelete = MsgBox("You cannot undo this action!!", vbWarning + vbOKCancel + vbDefaultButton2, "WARNING")
    If userDelete = vbOK Then
        Range("C3:C1000, D3:D1000, E3:E1000").clearContents
    End If
End Sub
"Start System Time" button. Part 1, located in the Sheet 1 file.
Private Sub startSystemTime_Click()
    Application.OnTime Now + TimeValue("00:00:01"), "UpdateClock"
End Sub
"Start System Time" button. Part 2, located in the module file.
Sub UpdateClock()
   Worksheets("DataEntry").Range("H1").Value = Now()
   Application.OnTime Now + TimeValue("00:00:01"), "UpdateClock"
End Sub
I have a couple problems/questions.

1) Am I going about this the wrong way? Is there a better way than creating individual buttons for all the different events? I had thought about doing a dropdown instead of the "1-5" buttons. That would cut down on the code.

2) I was experimenting with a toggle button for the system time (off to the right in the screen shot) and I could not get it to stop the time once it was running. Am I going about getting the system time the wrong way? This is a very small issue, I do not see any major need to stop and start the system time.

2) This is my initial trial build to see what the technicians like/don't like, they were using paper to write this stuff down. The final version will need to have ~ 100 events. This leads me to my main question. How can I expand this in the least painful way? My current method would be to copy/paste what I have and then go to every button change the name, copy/paste the code, change the cell references in the code etc. Is there a better way?

I don't seem to be able to attach the file, which may make this a little easier to understand.

Thank you for any help.