Sub Procedures são semelhantes às funções, no entanto, existem algumas diferenças.
Subprocedimentos NÃO retornam um valor, enquanto as funções podem ou não retornar um valor.
Subprocedimentos PODEM ser chamados sem uma palavra-chave de chamada.
Os procedimentos Sub são sempre incluídos nas instruções Sub e End Sub.
Exemplo
Sub Area(x As Double, y As Double)
MsgBox x * y
End Sub
Procedimentos de Chamada
Para invocar um procedimento em algum lugar do script, você pode fazer uma chamada de uma função. Não seremos capazes de usar a mesma maneira que uma função, pois o subprocedimento NÃO retornará um valor.
Function findArea(Length As Double, Width As Variant)
area Length, Width ' To Calculate Area 'area' sub proc is called
End Function
Agora você poderá chamar a função apenas, mas não o subprocedimento conforme mostrado na imagem a seguir.
A área é calculada e mostrada apenas na caixa de mensagem.
A célula de resultado exibe ZERO, pois o valor da área NÃO é retornado da função. Resumindo, você não pode fazer uma chamada direta para um subprocedimento da planilha do Excel.