非常基本的VBA功能不起作用

时间:2018-01-12 14:56:48

标签: excel vba excel-vba

起初,我想让自己了解VBA,因为它经常在我最近开始工作的公司使用。所以我决定做一个关于它的tutorial。我上学的时候对vb.net有一些了解。

我知道这是非常基本的,并且有一个内置的SUM函数'在Excel中。

当我尝试选择带有数字的2个单元格时,当我选择第二个单元格时会出现此错误: enter image description here enter image description here (来自互联网的英文版错误消息)

我为函数键入的代码:

Function fnSum(Num1 As Double, Optional num2 As Variant)
    If IsMissing(num2) Then
        fnSum = Num1 * Num1
    Else
        fnSum = Num1 * num2
    End If
End Function

2 个答案:

答案 0 :(得分:1)

试试这个

Function fnSum(ByRef Num1 As Double, Optional ByRef num2 As Variant)
    If num2 = "" Then
        fnSum = Num1 * Num1
    Else
        fnSum = Num1 * num2
    End If
End Function

完美地为我工作

enter image description here

答案 1 :(得分:1)

您必须设置可选参数的默认值

Sub fnSum(ByRef Num1 As Double, Optional ByVal num2 As variant = "")
    If num2 = "" Then
        fnSum = Num1 * Num1
    Else
        fnSum = Num1 * num2
    End If
End Function