Hey Dave,

The only way I could duplicate your problem is by:
[VBA]
Private Sub Form_Click()
Dim mI As Integer
For mI = 1 To 30
Command1_Click
Next
End Sub
[/VBA]
But each click will process due to it will not iterate in the loop until the command1_click is finished.
The below is the timer. I removed the enabled and the color checks.
[VBA]
Private objExcel As Object
Private objWorkBook As Object
Private objWorksheet As Object
Private Clickcnt As Integer
Private HowLong As Long
Private Sub Command1_Click()
On Error GoTo ErFix
Clickcnt = Clickcnt + 1
If Abs(Timer - HowLong) > 5 Then ' wait for 5 seconds before allowing a new "RUN"
HowLong = Timer
Call InsertFormula
Form1.Hide
StrtXl "C:\clicktest.xls"
objExcel.Run "showuserform1"
ClsSvXl
Call RemoveFormula
Form1.Show
End If
MsgBox Clickcnt 'display the number of times this control has been clicked
Exit Sub
ErFix:
On Error GoTo 0
MsgBox "XLap error(3)"
MsgBox "You clicked: " & Clickcnt & " times!"
ClsSvXl
Call RemoveFormula
Form1.Show
End Sub
Sub InsertFormula()
On Error GoTo ErFix
StrtXl "C:\clicktest.xls"
objWorksheet.Cells(1, 1).Formula = "=B1+C1"
ClsSvXl
Exit Sub
ErFix:
On Error GoTo 0
MsgBox "XLap error(4)"
ClsSvXl
End Sub
Sub RemoveFormula()
On Error GoTo ErFix
StrtXl "C:\clicktest.xls"
objWorksheet.Cells(1, 1).Formula = ""
ClsSvXl
Exit Sub
ErFix:
On Error GoTo 0
MsgBox "XLap error(5)"
objExcel.DisplayAlerts = False
ClsSvXl
End Sub
Sub StrtXl(iPthNM As String)
On Error Resume Next
Set objExcel = GetObject("EXCEL.APPLICATION")
If Err.Number <> 0 Then
Err.Clear
Set objExcel = CreateObject("EXCEL.APPLICATION")
End If
objExcel.Visible = True
objExcel.DisplayAlerts = False

If OpenWorkBook(iPthNM) Then
'this is assuming that the sheet exist
Set objWorksheet = objWorkBook.Worksheets("Sheet1")
Else
Set objExcel = Nothing
End If
On Error GoTo 0
End Sub
Function OpenWorkBook(iPthNM As String) As Boolean
Dim mI As Long
If objExcel.Workbooks.Count > 0 Then
For mI = 0 To objExcel.Workbooks.Count
If objExcel.Workbooks(mI).Name = "clicktest.xls" Then
Set objWorkBook = objExcel.Workbooks(mI)
End If
Next
End If
On Error Resume Next
If objWorkBook Is Nothing Then Set objWorkBook = objExcel.Workbooks.Open(iPthNM)
If Err.Number <> 0 Then
MsgBox Err.Description
Err.Clear
Else
OpenWorkBook = True
End If
End Function
Function ClsSvXl() As Boolean
On Error Resume Next
objWorkBook.Save
objWorkBook.Close
objExcel.DisplayAlerts = True
objExcel.Quit
Set objWorksheet = Nothing
Set objWorkBook = Nothing
Set objExcel = Nothing
ClsSvXl = True
Err.Clear
On Error GoTo 0
End Function

[/VBA]