Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA Excel正弦余弦函数_Excel_Vba_Trigonometry - Fatal编程技术网

VBA Excel正弦余弦函数

VBA Excel正弦余弦函数,excel,vba,trigonometry,Excel,Vba,Trigonometry,我正在尝试编写一个简短的trig函数,希望在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函数,但不知何故,我无法对它们求值,

我正在尝试编写一个简短的trig函数,希望在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”。

进入VBA编辑器菜单,选择
工具->参考…
,然后检查
系统
库。它将允许您访问所有数学函数


很有趣。我从未在Excel 2007或2016中检查过该引用,也从未对VBA Trig函数有过任何问题。@PeterT,检查“系统”不起作用。没有人抱怨。该函数只返回0。在调试模式下,我可以忽略或忽略单个变量或术语。它显示AC=空。高亮度“abcPI/180”显示正确的计算,但高亮度“Cos(abcPI/180)”不显示任何内容。函数的结果没有“返回”。在函数末尾添加
XXX=AC
,看看它是否有效。@RonRosenfeld-有趣的是,当我第一次在默认的VBA设置中测试它时,trig函数不起作用。因此,快速的谷歌搜索并检查
系统
参考就成功了。由于我通常不需要
系统
,因此我没有保存此配置。今天,当我根据您的评论测试一段代码时,我可以让sin/cos/sqr正常工作,而无需检查
系统
。真的很奇怪。什么样的“抱怨”?函数的数据输入是什么?“使用一些随机数,它在这里似乎运行正常。”RonRosenfeld,检查“系统”不起作用。没有人抱怨。该函数只返回0。在调试模式下,我可以忽略或忽略单个变量或术语。它显示AC=空。高亮度“abcPI/180”显示正确的计算,但高亮度“Cos(abcPI/180)”不显示任何内容。重复:函数的数据输入是什么?编辑您的问题以显示出来。@RonRosenfeld,我不完全理解您的问题,但HR、HR和abc只是数字。如果您指的是数据类型,我认为它们是变体,因为我没有单独声明它们的类型。这些数字是什么?它们是来自单元格还是从另一个VBA宏输入的?