How to add an optional parameters/default value parameters in VB function?

Use the Optional keyword and supply a default value. Optional parameters must be the last parameters defined, to avoid creating ambiguous functions.

Sub MyMethod(ByVal Param1 As String, Optional ByVal FlagArgument As Boolean = True)
    If FlagArgument Then
        'Do something special
        Console.WriteLine(Param1)
    End If

End Sub

Call it like this:

MyMethod("test1")

Or like this:

MyMethod("test2", False)

Have in mind that optional argument cannot have place before a required argument.

This code will show error:

Sub ErrMethod(Optional ByVal FlagArgument As Boolean = True, ByVal Param1 As String)
    If FlagArgument Then
        'Do something special
        Console.WriteLine(Param1)
    End If
End Sub

It is common error, no much explained by debugger... It have sense, imagine the call...

ErrMethod(???, Param1)