【发布时间】:2018-04-20 07:07:25
【问题描述】:
我的子 createTrip() 在其中创建一个新工作表和一个表格。
它基本上可以正常工作,但我对所有数据范围单元格都使用了这一功能。该函数计算顶部行和左侧行中的坐标之间的距离。 函数本身没有错误:
=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... 一样将工作表名称添加到其中 - 没有任何成功。)
问题是,当我的 sub 完成后,所有数据范围单元格中都会出现#NAME-error。
点击单元格,点击公式栏,然后点击返回工作表即可消除错误 - 无需更改任何内容。
我尝试向我的子程序添加一些重新计算行,但这无济于事:
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"
感谢您的帮助!
【问题讨论】:
-
您使用的是哪个版本?我用的是2013,ARCCOS这个功能不可用。 #姓名?仅当您输入的功能拼写错误或您正在使用的版本不可用时才会出现错误。
-
好的,谢谢。它应该是一个......“点”。像 1.5(一个半) - 它只适用于一个点。感谢您的检查,但我之前已经解决了。 #Name 错误仍然存在。
-
应该
ARCCOS是ACOS? -
我正在使用 Excel 2016 - 不知道 VBA 版本。我只是尝试了 ACOS 而不是 ARCCOS,但它仍然不起作用。
-
我也在xl2016上,没有ARCCOS功能。只需
ACOS和ACOSH。