Como hemos dicho antes, un procedimiento también puede estar constituido por una función.
La sintaxis de una función es:
Function NombreDeFuncion(Arg1, Arg2, …, Argk)
[ Sentencias ]
End Function
La diferencia entre el procedimiento estándar que hemos descrito y este otro que es una función está en que un procedimiento función devuelve un valor (aunque sea nulo), mientras que un procedimiento estándar no devuelve valor alguno.
El hecho que un procedimiento pase algunos valores a otro no es lo mismo que la capacidad que tienen las funciones de devolver un resultado.
Tanto un procedimiento que devuelve un resultado como una función que devuelve un resultado tienen su semejanza y su diferencia de uso, dependiendo del contexto en donde se encuentran.
Ejemplo 24
El siguiente procedimiento ProcPrin llama a otro procedimiento Lee, que se encarga de leer dos valores, e imprime el valor devuelto por la función Decide quien se encarga de determinar si se debe sumar o multiplicar los valores leídos.
El código es el siguiente:
Sub ProcPrin()
Dim a, b As Double
Call Lee(a, b)
MsgBox (Decide(a, b))
End Sub
Sub Lee(x, y)
x = InputBox("Primer valor: ")
y = InputBox("Segundo valor: ")
End Sub
Function Decide(r, s As Double)
If r < s Then
Decide = r + s
Else
Decide = r * s
End If
End Function
Síguenos en: Facebook Sobre aulaClic Política de Cookies