@dennygibson --

+1 on the CODE tags

+1 on attaching WB with 'real' data. I didn't understand it, but I'll just go with the flow

+1 on running to completion with no debug messages

Few minor suggestions about declaring variables you might consider

a. Since they're numbers, a Double is more efficient that a Variant
b. Sum is a Excel keyword, so a different one might be less confusing
c .You can Dim arrays with dimensions if the size isn't going to change
d. You can use Excel's Pi


Dim Rswrl As Double '   Double is more efficient than Variants if numbers
Dim Lswrl As Double
Dim Ror As Double
Dim Alpha As Double
Dim rho_liq As Double
Dim visc As Double
Dim rho_air As Double
Dim surfT_liquid As Double
Dim Omega As Double
Dim Re As Double
Dim Ain As Double
Dim V1 As Double
Dim Ri As Double
Dim R As Double
Dim psi As Double
Dim psipsi As Double
Dim a As Double
Dim b As Double
Dim h As Double
Dim sum As Double   '   Sum is keyword - different one would be better
Dim First As Double
Dim Last As Double
Dim A1 As Double
Dim A2 As Double
Dim B1 As Double
Dim B2 As Double
Dim C2 As Double
Dim A3 As Double
Dim B3 As Double
Dim B33 As Double
Dim C3 As Double
Dim B4 As Double
Dim A4 As Double
Dim W1 As Double
Dim Del1 As Double
Dim C(1 To 2, 1 To 2) As Double '   no need to ReDim - just size at beginning
Dim D(1 To 2, 1 To 1) As Double
Dim C_inv As Variant            '   these have to be Variant since you assign to them
Dim F As Variant
Dim Pi As Double
Pi = Application.WorksheetFunction.Pi   '   you can use the built in or make a Const
'Const Pi as double = 3.14159265358979
But what the heck … it works