Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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函数不工作_Vba_Excel - Fatal编程技术网

非常基本的VBA函数不工作

非常基本的VBA函数不工作,vba,excel,Vba,Excel,起初,我想让自己了解一些VBA的知识,因为我最近开始工作的公司经常使用VBA。所以我决定对此做一个调查。我从上学开始就对vb.net有所了解 我知道这是非常基本的,Excel中有一个内置的“求和函数” 当我尝试选择带有数字的2个单元格时,当我选择第2个单元格时是否出现此错误: (来自internet的英文版错误消息) 我为函数键入的代码: Function fnSum(Num1 As Double, Optional num2 As Variant) If IsMissing(num2)

起初,我想让自己了解一些VBA的知识,因为我最近开始工作的公司经常使用VBA。所以我决定对此做一个调查。我从上学开始就对vb.net有所了解

我知道这是非常基本的,Excel中有一个内置的“求和函数”

当我尝试选择带有数字的2个单元格时,当我选择第2个单元格时是否出现此错误: (来自internet的英文版错误消息)

我为函数键入的代码:

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

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
对我来说非常有效

试试这个

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
对我来说非常有效


您必须输入可选参数的默认值

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

您必须输入可选参数的默认值

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

在您的图片中,我看到您在
B12
之后放置了一个逗号
,没有其他内容。如果您不打算包含可选参数,那么就不要包含逗号。您所需要的只是
=fnSum(B12)
。在我单击或写下C13后,错误立即出现。您将代码放在哪里了?它应该放在标准模块上,比如模块1等。问题是,没有人知道C13在你的图片中是什么。我看到你在B12之后加了一个逗号,,,没有其他东西。如果您不打算包含可选参数,那么就不要包含逗号。您所需要的只是
=fnSum(B12)
。在我单击或写下C13后,错误立即出现。您将代码放在哪里了?它应该放在一个
标准模块
上,比如
模块1
等。问题是,没有人知道C13是什么,请确保键入;而不是使用,;而不是,为我修好了!确保你打字;而不是使用,;而不是,为我修好了!