As for reviewing your code, your structure looks pretty good and your variables are all declared with a type. Most of the variable names are good, but I wouldn't use offset because it's a system function and unclear. Looks like you adhere to Standard VBA naming conventions.
Integers - integers are obsolete. According to msdn VBA silently converts all integers to long.
This piece of code is unnecessarily complex
Dim lastCell As Range
Set lastCell = Sheet3.Cells(Sheet3.Rows.Count, "A").End(xlUp)
endInterpolation = lastCell.Row
It's just
endInterpolation = Sheet3.Cells(Sheet3.Rows.Count,"A").End(xlup).Row
By adding the .Row at the end, it returns the row number.