【问题标题】:excel VBA formula throws #name errorexcel VBA公式抛出#name错误
【发布时间】: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 错误仍然存​​在。
  • 应该ARCCOSACOS
  • 我正在使用 Excel 2016 - 不知道 VBA 版本。我只是尝试了 ACOS 而不是 ARCCOS,但它仍然不起作用。
  • 我也在xl2016上,没有ARCCOS功能。只需ACOSACOSH

标签: vba excel


【解决方案1】:

这里的问题是使用完全相同的 Excel 公式如果 Excel 语言设置为与英语不同的语言。

在 VBA 中,我们必须用英文编写公式。 (西班牙语示例):

Application.Range("'Hoja1'!T3").Formula = "=MODA(O8:O" & row_set & ")" Throw #Name error

从西班牙语的“MODA”功能更改为英语的“MODE”功能

Application.Range("'Hoja1'!T3").Formula = "=MODE(O8:O" & row_set & ")" Work as expected

试试这个tool 函数翻译

【讨论】:

  • 你拯救了我的一天.. 弄清楚你在 vba 中需要英语.. omg。从来没有想过这一点,但现在有意义,最重要的是,有效。谢谢老兄!
  • 谢谢,拯救我的一天!顺便说一句,英文公式用“,”,法文用“;”
【解决方案2】:

使用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

【讨论】:

  • 可能还需要注意使用 EN-US 样式 6367.4445 而不是 6367,4445
  • 下次您获得 #NAME 作为公式结果时,请转到功能区上的“公式”选项卡,然后在“公式审核”组下,单击“评估公式”。然后,您可以单击评估,直到遇到问题。在您的情况下,第一次点击就会发现问题。
猜你喜欢
  • 1970-01-01
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
相关资源
最近更新 更多