Here you go, i wanted to post the final result here ... note that i didn't go past column O so that i could get the exact results that you showed in the forum:
<font face=Courier New><SPAN style="color:#00007F">Sub</SPAN> Macro2()
<SPAN style="color:#007F00">'</SPAN>
<SPAN style="color:#00007F">Dim</SPAN> const1, const2, const3, const4, const5, const6, const7, a, b, c <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Variant</SPAN>
const1 = Range("CALCS!B3").Value
const2 = Range("CALCS!B5").Value
const3 = Range("CALCS!B7").Value
const4 = Range("Calcs!B13").Value
const5 = Range("Calcs!B18").Value
const6 = Range("Calcs!B19").Value
const7 = Range("Calcs!B4").Value
a = const1
b = a + const7
<SPAN style="color:#007F00">'light blue cells</SPAN>
<SPAN style="color:#00007F">Dim</SPAN> x, y, z <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN>
x = 25
y = 1
z = 1
<SPAN style="color:#00007F">Do</SPAN> <SPAN style="color:#00007F">Until</SPAN> x > 39
<SPAN style="color:#00007F">Do</SPAN> <SPAN style="color:#00007F">Until</SPAN> x = -1
<SPAN style="color:#00007F">If</SPAN> x = 25 And y = 1 <SPAN style="color:#00007F">Then</SPAN>
Worksheets(1).Cells(x, y).Value = const1
<SPAN style="color:#00007F">ElseIf</SPAN> z = 1 And x <> 25 <SPAN style="color:#00007F">Then</SPAN>
Worksheets(1).Cells(x, y).Value = Round((Worksheets(1).Cells(x + 2, y - 2).Value + Worksheets(1).Cells(x + 2, y - 2).Value * const2), 2)
<SPAN style="color:#00007F">ElseIf</SPAN> z > 1 And Worksheets(1).Cells(x + 2, y - 2).Value = 0 <SPAN style="color:#00007F">Then</SPAN>
Worksheets(1).Cells(x, y).Value = Round((Worksheets(1).Cells(x - 2, y - 2).Value - Worksheets(1).Cells(x - 2, y - 2).Value * const3), 2)
<SPAN style="color:#00007F">ElseIf</SPAN> z > 1 And Worksheets(1).Cells(x + 2, y - 2).Value <> 0 <SPAN style="color:#00007F">Then</SPAN>
Worksheets(1).Cells(x, y).Value = Round((Worksheets(1).Cells(x - 2, y - 2).Value - Worksheets(1).Cells(x - 2, y - 2).Value * const3), 2)
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN>
x = x - 2
<SPAN style="color:#00007F">If</SPAN> y < 15 <SPAN style="color:#00007F">Then</SPAN> y = y + 2 <SPAN style="color:#00007F">Else</SPAN> x = -1
<SPAN style="color:#00007F">Loop</SPAN>
y = 1 + z * 2
<SPAN style="color:#00007F">If</SPAN> y < 28 <SPAN style="color:#00007F">Then</SPAN> x = 25 + z * 2
z = z + 1
<SPAN style="color:#00007F">Loop</SPAN>
<SPAN style="color:#007F00">'black cells</SPAN>
x = 12
y = 15
z = 0
<SPAN style="color:#00007F">Do</SPAN> <SPAN style="color:#00007F">Until</SPAN> z = 9
<SPAN style="color:#00007F">If</SPAN> y = 15 <SPAN style="color:#00007F">Then</SPAN>
x = 12
<SPAN style="color:#00007F">Do</SPAN> <SPAN style="color:#00007F">Until</SPAN> x = 44
<SPAN style="color:#00007F">If</SPAN> Worksheets(1).Cells(x - 1, y).Value < b <SPAN style="color:#00007F">Then</SPAN>
Worksheets(1).Cells(x, y).Value = 0
<SPAN style="color:#00007F">Else</SPAN>
Worksheets(1).Cells(x, y).Value = Worksheets(1).Cells(x - 1, y).Value - b
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN>
x = x + 4
<SPAN style="color:#00007F">Loop</SPAN>
<SPAN style="color:#00007F">Else</SPAN>
x = 12 + z * 2
<SPAN style="color:#00007F">Do</SPAN> <SPAN style="color:#00007F">Until</SPAN> x > 40 - z * 2
Worksheets(1).Cells(x, y).Value = (Exp(-const4)) * ((const5 * Worksheets(1).Cells(x - 2, y + 2)) + (const6 * Worksheets(1).Cells(x + 2, y + 2)))
x = x + 4
<SPAN style="color:#00007F">Loop</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN>
z = z + 1
y = y - 2
<SPAN style="color:#00007F">Loop</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
</FONT>
go ahead and post any questions you may have or if something doesn't work right.