If the 1 minute refresh is to long then here's some code that will do the trick... however it will tie up that particular instance of the excel app.
the following example refreshes web info on Sheet1
Sub LoopRefresh()
StartHere:
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
With ThisWorkbook.Sheets("Sheet1").Cells
.QueryTable.Refresh BackgroundQuery:=False
End With
GoTo StartHere
End Sub

NOTE : TO TERMINATE CODE PRESS CTRL+ ALT + BREAK
PS.... The wait code is directly from the VBEditors help file....
Wait Method Example
This example pauses a running macro until 6:23 P.M. today.
Application.Wait "18:23:00"
This example pauses a running macro for approximately 10 seconds.
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
This example displays a message indicating whether 10 seconds have passed.
If Application.Wait(Now + TimeValue("0:00:10")) Then
MsgBox "Time expired"
End If