Dentro de un macro se puede mostrar un sub procedimiento desde otro procedimiento. Para esto, se conecta un procedimiento a otro; lo que significará que el primero dará paso al segundo para ejecutarse para luego regresar al primero y terminar. Para hacerlo, como se puede apreciar, se necesitan dos partes: “el que llama” (primer procedimiento a ejecutarse) y “lo que se llama” (segundo a ejecutarse).
“El que llama” puede escribirse de formas distintas. Por un lado, se puede colocar el nombre del procedimiento a llamar seguido del texto a enunciar entre comillas.
Sub f()
k "Disponible"
End Sub
Por otro lado, se puede usar la instrucción “Call” seguido del nombre del procedimiento a llamar y, a continuación, entre paréntesis el texto que se desea mostrar.
Sub g()
Call k("Disponible")
End Sub
“Lo que se llama” será otro procedimiento al que se saltará para ser ejecutado. Por ejemplo:
Sub k(m)
MsgBox m
End Sub
Esto también es aplicable para las funciones. Por ejemplo, se puede utilizar una función para realizar una operación matemática tomando los valores que se encuentran almacenados en otra y al final ver el resultado total; como se muestra a continuación:
Sub Mostrarmultiplicacion()
MsgBox mulNo(2.6, 7.5)
End Sub
Function mulNo(a, b)
mulNo = a * b
End Function
27/04/2013 a las 10:58 am
No me quedo muy claro..
25/05/2014 a las 9:07 pm
Básicamente, este artículo te explica cómo emplear un procedimiento o función ya creado dentro de uno nuevo, de modo que se simplifiquen los procesos a ejecutar. En el primer ejemplo, se establece una variable k, a la cual luego se llama mediante el comando "call" en un segundo proceso, para que luego aparezca en un MsgBox que llama a esta variable. En el segundo ejemplo, se plantea una función general, estableciendo que emplea dos argumentos, y luego un MsgBox muestra el resultado de esa función, ya que se especifican los dos argumentos requeridos por la misma.
02/08/2014 a las 10:05 pm
Para tener en cuenta y de forma clara detallo lo que viene a ser un procedimiento, el procedimiento es una unidad de código encerrada entre "sub" y "End sub" o entre las sentencias "Function" y "End function".
18/05/2015 a las 5:11 pm
No me queda muy claro en qué caso uso Sub y en qué caso debo usar Function.¿Cuál es la diferencia entre estos? Me parece que sería bueno que se crease un segmento o espacio en el que se hablase un poco sobre esto.
22/05/2015 a las 12:58 am
Es una buena idea Daniel.
Sub es para los procesos, las macros creadas con el grabador por ejemplo ejecutan una rutina, o proceso que tiene un inicio y fin, mientras que function es para las funciones, sirven para devolver un valor quien la invoque .... las funciones pueden ser utilizadas desde otras funciones, o desde procesos para realizar algún cálculo, pero además pueden ser invocadas desde las hojas y funcionar tal como lo hacen las funciones predefinidas en Excel, como por ejemplo (promedio, si, buscarv, etc).
Saludos