Thimi11
Thimi11

Reputation: 77

very basic VBA function not working

At first, I wanted to get myself some knowledge about VBA because it's used often at the company I recently started working. So I decided to do a tutorial about it. I have some knowledge about vb.net from when I went to school.

I do know this is very basic and there is a built-in 'SUM function' in Excel.

While I'm trying to select the 2 cells with the numbers in does this error appear when I select the 2nd cell: enter image description here enter image description here (English version error message from the internet)

The code I typed for the function:

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

Upvotes: 0

Views: 711

Answers (2)

Mohammad ElNesr
Mohammad ElNesr

Reputation: 2667

You have to put the default value of the optional parameter

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

Upvotes: 1

Try this one

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

Worked for me perfectly

enter image description here

Upvotes: 1

Related Questions