Nothing wrong with your incorporation of variables but I got an error value from your formula. I've split it into constituent parts for ease of checking and "reassembled", but I may have missed some bracketing. I' m sure you can fix that. Also I've changed your DataRange to exclude the header; you'll need to fix this if using a filter.
Private Sub CalcDistButton1_Click()
Dim ScanRad As Single
Dim SubLat As Single, SubLon As Single
Dim FilterCell As Range, DataRange As Range
Dim x As Variant, y As Variant, z As Variant
Dim a, b, c, d, e, f
'Set DataRange = Intersect(Worksheets("Sheet1").Columns(9), Worksheets("Sheet1").UsedRange.SpecialCells(xlCellTypeVisible))
With Worksheets("Sheet1")
Set DataRange = Range(.Cells(2, 9), .Cells(Rows.Count, 9).End(xlUp))
End With
'Pull scan radius value from input box
ScanRad = UserForm1.TextBox3.Text
SubLat = UserForm1.TextBox1.Text
SubLon = UserForm1.TextBox2.Text
'Calculate offset distance for unhidden rows
For Each FilterCell In DataRange
x = FilterCell.Offset(, 1)
y = FilterCell.Offset(, 2)
z = FilterCell.Offset(, 4)
'FilterCell.Offset(, 5) = Application.Acos(Cos(Application.Radians(90 - SubLat)) * Cos(Application.Radians(90 - x)) + Sin(Application.Radians(90 - SubLat)) * _
'Sin(Application.Radians(90 - x)) * Cos(Application.Radians(SubLon - y)) * ((z) / 5280))
With Application
a = .Acos(Cos(.Radians(90 - SubLat)))
b = Cos(.Radians(90 - x))
c = Sin(.Radians(90 - SubLat))
d = Sin(.Radians(90 - x))
e = Cos(.Radians(SubLon - y))
f = (z) / 5280
FilterCell.Offset(, 5) = a * b + c * d * e * f
End With
Next FilterCell
End Sub