【问题标题】:How to make a Cosd Function with VBA for Excel?如何使用 VBA for Excel 制作 Cosd 函数?
【发布时间】:2015-04-11 23:13:43
【问题描述】:

我需要创建一个以度为单位查找余弦的函数。我在 Mac-OS Excel 2011 上

Function cosd(d)
    deg = (d * 3.14159265358979) / 180    
    cosd = WorksheetFunction.Cos(deg)
End Function

还是不行。

【问题讨论】:

  • VBA sin() and cos() trouble 的可能重复项
  • 在更高版本的 Excel 中有一个内置的 WorksheetFunction.Cosd()
  • 如果有一个与您的函数同名的本机工作表函数,那可能也可以解释#NAME-error。否则我不确定可能是什么原因。也许参数中的数据类型错误?

标签: excel vba macos excel-2011


【解决方案1】:

你真的很接近你的函数唯一的问题(好吧,除了不声明你的变量是不好的做法)是Cos不是VBA函数。将您的功能更改为

Function cosd(d As Double) As Double
  cosd = Application.WorksheetFunction.Cos((d * Application.WorksheetFunction.Pi) / 180#)
End Function

它应该可以正常工作。

【讨论】:

  • 它说“错误:预期语句结束”。我把我所有的头发都拉到了这个上面?!
  • 哎呀,忘了在语句开头添加括号,现在已修复@WaleedKAl-Shaikhli
  • 为什么不使用 VBA 中定义的内置 Cos() 函数?
  • 我无法让它工作。当我在单元格中键入“cosd(90)”时,输出为“#NAME?”
  • @ja72 根据原始问题,使用本机 COS-function 不起作用。他现在已经改了,所以我不能再检查一下是否还有其他问题,但我没有看到任何明显的问题。有没有可能COS-function 需要在Math. 前面?一些谷歌搜索似乎表明了这一点,但我不在我的工作计算机 atm,所以我无法检查。
猜你喜欢
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多