Excel VBA函数不适用于类
我有一个函数,假设它调用自身来执行求和。但当它到达该行时,会弹出一个需要宏的窗口。VBA不支持这一点,还是我遗漏了什么Excel VBA函数不适用于类,vba,excel,Vba,Excel,我有一个函数,假设它调用自身来执行求和。但当它到达该行时,会弹出一个需要宏的窗口。VBA不支持这一点,还是我遗漏了什么 Sub SumUp(ByVal result As Double, ByVal number As Integer) sumValue As Double numValue As Integer numValue = number If (number > 0) Then sumValue = numValue * 2 numValue = num
Sub SumUp(ByVal result As Double, ByVal number As Integer)
sumValue As Double
numValue As Integer
numValue = number
If (number > 0) Then
sumValue = numValue * 2
numValue = numValue - 1
SumUp(result = sumValue, number = numValue)
Else
MsgBox numValue
End If
End Sub
这在许多层面上都是无效的
如果您打算使用命名参数调用summap
,则应该编写
SumUp result:= sumValue, number:= numValue
但是,您不必使用命名参数:
SumUp sumValue, numValue
1.)从技术上讲,它不是一个函数,因为它不返回任何值,所以调用SumUp(result=sumValue,number=numValue)是错误的
2.)您缺少Dim语句
-->
执行
Sub testit()
SumUp 2, 2
End Sub
提供以下输出:
result=2, number=2
result=4, number=1
result=2, number=0
Sub testit()
SumUp 2, 2
End Sub
result=2, number=2
result=4, number=1
result=2, number=0