【发布时间】:2017-03-20 13:42:27
【问题描述】:
我在 Excel 2016 for Mac 中编写了一个用户定义的函数。该功能本身有效;我在 VBA 中的一个新子例程中调用它,它运行良好。但是当我从工作表中调用它时,它什么也不做。
Function isMultipleOf5(myInput As Integer) As Boolean
Dim result As Double
result = myInput Mod 5
If result = 0 Then
isMultipleOf5 = True
Else
isMultipleOf5 = False
End If
End Function
【问题讨论】:
-
没有代码,很难告诉你具体哪里出了问题。最佳猜测:它做了一些 UDF 不允许做的事情。
-
附上代码。它在我同学的 Windows 电脑上运行良好。
-
不知道 Mac 上的 vba,但我会尝试将 myInput 更改为变体。至少在 PC 上,这是 UDF 参数的默认数据类型。
-
@Nate,该错误表明该函数不可访问,因此您在单元格公式中有拼写错误,或者该函数是在不同工作表的代码模块或工作簿模块中定义的。为了可以从所有工作表中访问该函数,应将其放置在标准代码模块中。
-
@DavidZemens 就是这样!!我将代码放在“Microsoft Excel 对象”下,并将代码放在 ThisWorkbook 或 Sheet1 中不允许函数工作。相反,您必须右键单击 Microsoft Excel 对象 -> 插入 -> 模块 -> 将代码放在新的空白区域中。
标签: excel excel-2016 vba