【问题标题】:VBA Excel sine cosine functionsVBA Excel 正弦余弦函数
【发布时间】:2016-03-03 06:19:17
【问题描述】:

我正在尝试编写一个简短的三角函数,希望在 VB 中使用正弦和余弦函数,我对此非常陌生,因为这是我第一次在 VB 中编码。

在下面查看我要完成的工作:

Function XXX(HR, HR_RL, abc)

Const PI As Double = "3.141593"

AC = Sqr(HR ^ 2 + HR_RL ^ 2 - 2 * HR * HR_RL * Cos(abc * PI / 180))

VB 抱怨 Cos 和 Sqr 两件事。

似乎它们都是内置的 VBA 函数,但不知何故我无法对它们进行评估,因此 AC 变量 = 空。

事实上,它似乎甚至没有超过“Cos(abc * PI / 180)”。如果我用数值替换“Cos(abc * PI / 180)”(只是为了看看还有哪里是另一个问题),当然,现在 VB 会抱怨“Sqr”。

【问题讨论】:

  • 什么样的“投诉”?您对该函数的数据输入是什么?使用一些随机数,这里似乎运行良好。
  • @RonRosenfeld,检查“系统”不起作用。没有投诉。该函数只返回 0。在调试模式下,我可以悬停或突出显示单个变量或术语。它显示 AC=空。突出显示“abcPI/180”显示正确的计算,但突出显示“Cos(abcPI/180)”不显示任何内容。
  • 重复:您对函数的数据输入是什么?编辑您的问题以表明这一点。
  • @RonRosenfeld,我不完全理解你的问题,但 HR、HR_RL 和 abc 只是数字。如果您指的是数据类型,我认为它们是变体,因为我没有单独声明它们的类型。
  • 这些数字是多少?它们是来自单元格还是您是从另一个 VBA 宏输入的?

标签: excel vba trigonometry


【解决方案1】:

进入 VBA 编辑器菜单并选择 Tools -> References...,然后检查 System 库。它可以让你访问所有的数学函数。

【讨论】:

  • 有趣。我从未在 Excel 2007 或 2016 中检查过该引用,而且我从未遇到过 VBA Trig 函数的问题。
  • @PeterT,检查“系统”不起作用。没有投诉。该函数只返回 0。在调试模式下,我可以悬停或突出显示单个变量或术语。它显示 AC=空。突出显示“abcPI/180”显示正确的计算,但突出显示“Cos(abcPI/180)”不显示任何内容。
  • 您的函数没有“返回”结果。在函数末尾添加XXX = AC,看看是否有效。
  • @RonRosenfeld - 有趣的是,当我第一次在我的默认 VBA 设置中测试这个时,三角函数不起作用。所以快速谷歌搜索并检查System 参考就可以了。由于我一般不需要System,所以没有保存这个配置。今天,当我根据您的评论测试了一些代码时,我可以让 sin/cos/sqr 正常工作,而无需检查 System。确实很奇怪。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 2017-10-06
  • 2023-03-28
  • 1970-01-01
相关资源
最近更新 更多