Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Distintas formas de llamar a un procedimiento o función con vba

| 5 comentarios

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

5 comentarios

  1. No me quedo muy claro..

  2. 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.

  3. 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".

  4. 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.

  5. 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

Deja una respuesta

Los campos requeridos estan marcados con *.