Hi Mike ,
Try this :
Public Sub Circular_Lights()
Const HIGHLIGHT = vbBlack ' Change as required
Dim Number_of_Rows As Long
Dim Number_of_Columns As Long
Dim Row_Selection As Long
Dim Col_Selection As Long
Dim Start_Time As Date
Dim Curr_Time As Date
Dim i As Integer, num_count As Integer
'Two new definitions
Dim fRow As Long, gRow As Long, hRow As Long, iRow As Long, jRow As Long
Dim Data_Range As Range
ThisWorkbook.Worksheets("Sheet1"

.Activate ' Change as required
Set Data_Range = ActiveSheet.Range("A1:E50"

' Change as required
Start_Time = Now
Number_of_Rows = Data_Range.Rows.Count
Number_of_Columns = Data_Range.Columns.Count
Row_Selection = Int(Rnd() * Number_of_Rows)
Col_Selection = Int(Rnd() * Number_of_Columns)
fRow = Range("F65536"

.End(xlUp).Row + 1
gRow = Range("G65536"

.End(xlUp).Row + 1
hRow = Range("H65536"

.End(xlUp).Row + 1
iRow = Range("I65536"

.End(xlUp).Row + 1
jRow = Range("J65536"

.End(xlUp).Row + 1
num_count = 0
Data_Range.ClearFormats
With Data_Range.Cells(1, 1)
.Offset(Row_Selection, Col_Selection).Interior.Color = HIGHLIGHT
i = 1
Do
DoEvents
Curr_Time = Now
i = i + 1
'Stop flashing? aka, how long do we do running lights
If Curr_Time >= Start_Time + TimeValue("00:00:04"

Then
'We have a winner! Highlight all cells except our winner
Data_Range.Cells.Interior.Color = HIGHLIGHT
.Offset(Row_Selection, Col_Selection).Interior.Color = vbYellow
num_count = num_count + 1
'Store the value in 5 columns (new code)
' -----------------------------------------------------------------------------------
Select Case num_count Mod 5
Case 1:
Cells(fRow, "F"

.Value = .Offset(Row_Selection, Col_Selection).Value
fRow = fRow + 1
Case 2:
Cells(gRow, "G"

.Value = .Offset(Row_Selection, Col_Selection).Value
gRow = gRow + 1
Case 3:
Cells(hRow, "H"

.Value = .Offset(Row_Selection, Col_Selection).Value
hRow = hRow + 1
Case 4:
Cells(iRow, "I"

.Value = .Offset(Row_Selection, Col_Selection).Value
iRow = iRow + 1
Case 0:
Cells(jRow, "J"

.Value = .Offset(Row_Selection, Col_Selection).Value
jRow = jRow + 1
End Select
' -----------------------------------------------------------------------------------
'How long do we wait before resuming?
Application.Wait (Now + TimeValue("00:00:03"

)
Data_Range.ClearFormats
.Offset(Row_Selection, Col_Selection).Interior.Color = HIGHLIGHT
Start_Time = Now
i = 1
'Keep on flashing
'5000 picked after experiments. Seems to run at a nice speed.
'Increase to slow down, decrease to speed up
ElseIf i = 10 Then
i = 1
.Offset(Row_Selection, Col_Selection).Interior.Color = xlNone
Row_Selection = Int(Rnd() * Number_of_Rows)
Col_Selection = Int(Rnd() * Number_of_Columns)
'Col_Selection = Col_Selection + 1
'If Col_Selection >= Number_of_Columns Then
' Col_Selection = 0
' Row_Selection = Row_Selection + 1
' If Row_Selection >= Number_of_Rows Then
' Row_Selection = 0
' End If
'End If
.Offset(Row_Selection, Col_Selection).Interior.Color = HIGHLIGHT
End If
Loop
End With
End Sub
Narayan