Here is a modified version:
Sub InterpolateAll()
InterpolateBlanks "A", "B"
InterpolateBlanks "A", "C"
InterpolateBlanks "E", "F"
InterpolateBlanks "E", "G"
End Sub
Sub InterpolateBlanks(b As String, c As String)
' The first argument is the power column
' The second argument is the leading or lagging column
Dim FirstRow As Long
Dim LastRow As Long
Dim r As Long
Dim r1 As Long
Dim r2 As Long
Dim b1 As Double
Dim b2 As Double
Dim v1 As Double
Dim v2 As Double
Dim f As Boolean
Dim s As Long
Application.ScreenUpdating = False
FirstRow = 3
Do While Cells(FirstRow, c).Value = ""
FirstRow = FirstRow + 1
Loop
LastRow = Cells(Rows.Count, c).End(xlUp).Row
r = FirstRow
Do While r <= LastRow
If Cells(r, c).Value <> "" Then
If f Then
r2 = r
b2 = Cells(r, b).Value
v2 = Cells(r, c).Value
For s = r1 + 1 To r2 - 1
Cells(s, c).Value = v1 + (Cells(s, b).Value - b1) / (b2 - b1) * (v2 - v1)
Next s
f = False
End If
r1 = r
b1 = Cells(r, b).Value
v1 = Cells(r, c).Value
Else
f = True
End If
r = r + 1
Loop
Application.ScreenUpdating = True
End Sub