Happy to help and glad we got there in the end! 
Code again below with some comments added to explain what's going on.
Sub AddTime()
Dim lc As Long, i As Long
Dim r As Range, r2 As Range
'SHOW THE INPUT BOX ASKING FOR THE RUN NUMBER
Dim strInput As String: strInput = InputBox("Enter Run Number", "")
'EVERYTHING BETWEEN THE NEXT LINE AND THE END WITH LINE WILL ACT ON THE AM Clears SHEET
With ThisWorkbook.Sheets("AM clears")
'DYNAMICALLY FIND THE LAST USED COLUMN - THIS MEANS IF YOU ADD MORE COLUMNS IN FUTURE YOU WON'T HAVE TO AMEND THE CODE TO ACCOUNT FOR THEM
lc = .Cells(1, Columns.Count).End(xlToLeft).Column
'SET A RANGE CONSISTING OF THE FIRST COLUMN (A).
Set r = .Columns(1)
'LOOP FROM COLUMN 7 (THE SECOND INSTANCE OF 'RUN#') UNTIL THE LAST USED COLUMN - DETERMINED ABOVE
For i = 7 To lc
'CHECK IF THE CURRENT COLUMN IN THE LOOP SAYS "RUN #" IN ROW 1 AND IF SO, ADD IT TO THE RANGE ALONG WITH ANY PREVIOUS COLUMNS THAT FIT THAT CRITERIA
If .Cells(1, i) = "RUN #" Then Set r = Application.Union(r, .Columns(i))
Next i
End With
'SEARCH THROUGH THE RANGE (ALL COLUMNS WITH "RUN #" AS A HEADER) FOR ANY INSTANCE OF THE RUN NUMBER INPUT EARLIER.
Set r2 = r.Find(strInput, , xlValues, xlPart)
'CHECK THAT A MATCH WAS FOUND
If Not r2 Is Nothing Then
'IF A MATCH WAS FOUND, STAMP THE TIME 4 COLUMNS TO THE RIGHT OF THE CELL WITH THE MATCH
r2.Offset(, 4) = Format(Now, "hh:mm")
Else
'IF NO MATCH IS FOUND, ALERT THE USER.
MsgBox "No trace of that number I'm afraid.", , ""
End If
End Sub
Let me know if you need more of an explanation than that.
BSB
Bookmarks