Saludos, un procedimiento es un metodo que no retorna valor alguno, mientras que una función si lo hace.
Por ejemplo:
Código vb:
Ver originalDim lRespuesta as Long
Public Sub Sumar(ByVal lNumero1 as Long, Byval lNumero2 as Long)
lRespuesta = lNumero1 + lNumero2
End Sub
'Para Usarlo en un Botón
Private Sub Command1_Click()
Sumar 1, 2
MsgBox lRespuesta
End Sub
Ahora, en una función
Código vb:
Ver originalPublic Function Sumar(ByVal lNumero1 as Long, Byval lNumero2 as Long) as Long
Sumar = lNumero1 + lNumero2
End Sub
'Para Usarlo en un Botón
Private Sub Command1_Click()
MsgBox Sumar(1, 2)
End Sub
Espero que hayas agarrado la idea