excel VBA公式抛出#name错误

我的子createTrip()创build一个新的工作表和一个表中。

它基本上工作正常,但我使用这一个function的所有数据范围单元格。 该函数计算顶行和左行坐标之间的距离。 函数本身没有错误

=ARCCOS(SIN(E$3*PI()/180)*SIN($C5*PI()/180)+COS(E$3*PI()/180)*COS($C5*PI()/180)*COS(($D5*PI()/180)-(E$4*PI()/180)))*6367.4445 

(我也尝试添加工作表名称,例如=ARCCOS(SIN(Processing!E$3*PI()/1... ,但没有任何成功。

问题是,当我的子完成后,所有的数据区域单元格中都会出现#NAME错误。 单击单元格,单击公式栏并单击回到工作表上,将不会更改错误。 我试图添加一些重新计算行到我的子,但是这并没有帮助:

 ws.EnableCalculation = False ws.EnableCalculation = True 

我还可以做些什么?

这个公式适用于像这样的VBA的单元格:

 Dim Pro As Worksheet Set Pro = ThisWorkbook.Sheets("Processing") // start for loop (ii) // if maximum ii is reached: With Pro Set distanceRange = .Range(.Cells(5, 5), .Cells(ii + 6, ii + 6)) End With distanceRange.Select distanceRange.Formula = "=ARCCOS(SIN(E$3*PI()/180)*SIN($C5*PI()/180)+COS(E$3*PI()/180)*COS($C5*PI()/180)*COS(($D5*PI()/180)-(E$4*PI()/180)))*6367.4445" 

感谢您的帮助!

使用ACOS而不是ARCCOS

=ACOS(SIN(E$3*PI()/180)*SIN($C5*PI()/180)+COS(E$3*PI()/180)*COS($C5*PI()/180)*COS(($D5*PI()/180)-(E$4*PI()/180)))*6367.4445