OK. I've sorted the syntax.
Here it is for any one who comes across this thread in a search.
Its not a very smart routine, but I only had to do it once.
Sub Macro1()
' Keyboard Shortcut: Ctrl+aDim tbl As Range
Dim RRow, CCol As Integer
Set tbl = Selection
For RRow = 2 To tbl.Rows.Count
ActiveSheet.Range("G4").Value = tbl.Cells(RRow, 1).Value
For CCol = 2 To tbl.Columns.Count
ActiveSheet.Range("H3").Value = tbl.Cells(1, CCol).Value
ActiveSheet.Calculate
tbl.Cells(RRow, CCol).Value = ActiveSheet.Range("J4").Value
Next
Next
End Sub