Se hace mediante la palabra clave Optional. Cuando un parámetro es opcional los siguientes también deben serlo. Para saber si el parámetro fue enviado usa la función IsMissing.
Sub nombre(Optional [Byval ó Byref] parametro_opcional As tipo) ..... If IsMissing(parametro_opcional) Then 'Código que se ejecuta si no se pasó ningún valor para parametro_opcional End If ..... End Sub