Ir al contenido principal

Seminario Macros Excel Gratuito 9ª Entrega (Procedimientos en VBA)

Cuando estamos en el Explorador de Proyectos vemos todos los objetos que admiten código en VBA:

  • Hojas
  • ThisWorkbook
  • Modulos
  • UserForms
  • Modulos

Dentro de estos objetos (los 4 primeros tienen su modulo asociado) podemos crear 3 clases de procedimientos:
  • Sub
  • Function
  • Property

Además debemos saber que de forma predeterminada todos los procedimientos son públicos es decir pueden ser llamados desde cualquier parte del proyecto. En cambio si hacemos un procedimiento que sea Private solo puede ser llamado desde dentro del módulo en el que esté incluido.

El siguiente procedimiento de tipo Sub solo puede ser llamado desde el módulo que tiene Thisworkbook:


Private Sub Workbook_Open()

End Sub

Procedimiento Sub

Un procedimiento sub lo forma un conjunto de instrucciones que realizan una serie de acciones y dichos procedimientos los podemos dividir en dos:

  • Procedimientos Generales. Los que se declaran dentro de un módulo
  • Procedimientos de Evento. Se ejecutan cuando se produce una determinada situación, por ejemplo hacer un clic en un botón
Es importante saber que el nombre de un procedimiento no admite espacios.
El procedimiento acaba cuando encontramos la instrucción End Sub o tenemos una salida del mismo mediante una condición.
Las ordenes de este procedimiento se ejecutan secuencialmente salvo condiciones o bucles.

Sub Prueba()
   Primera
   Segunda
   Tercera
   .....
End Sub

Ámbito de procedimientos

La instrucción Sub puede ir precedida por lo siguiente que especifica el ámbito (visibilidad) del mismo:
  • Public
  • Private
  • Static
Un procedimiento sin poner nada por omisión es público, es decir poner Public Sub o Sub es lo mismo, por lo que son visibles en todo el proyecto.
Un procedimiento es Private cuando solo se ve desde los procedimientos dentro del módulo en el que esté definido dicho procedimiento. 
Static no tiene que ver con la visibilidad del procedimiento ya que puede ser Public o Private lo único que significa es que se conservan los valores de las variables aunque salgamos del mismo.

En la siguiente imagen vemos todos los tipos de procedimientos y sus salidas con la orden Exit Sub:


Procedimiento Function

Excel como sabemos dispone de un montón de funciones que pueden ser llamadas desde VBA usando el comando WorksheetFunctions y además el propio VBA tambien dispone de las suyas pero aun así a veces es necesario debido a que necesitemos cálculos mas complejos o menos estandar crearnos nuestras propias funciones y para eso están los procedimientos Function. 

De la misma forma que un procedimiento Sub las Function admiten argumentos y a diferencia de los primeros devolverán un valor cuyo tipo debemos declarar el tipo de variable según el valor que devolvamos, vease integer, double, string....


La siguiente entrega la puede ver en nuestro blog Blog CDEI Knotica






Comentarios

Entradas populares de este blog

Chrome: desactivar la opción “Abrir siempre archivos de este tipo”

En Chrome, al descargar un archivo aparecen tres opciones en el desplegable de la barra de descargas:

Uso del Dolar ($) en Excel

Es uno de los grandes desconocidos de los usuarios de Excel incluso algunos que llevan usando esta herramienta durante un largo periodo de Tiempo. La idea de su uso es evitar que al copiar un fórmula la referencia a una determinad celda cambie. Veamos un ejemplo: Tenemos 6 columnas y en la D una fórmula que multiplica el precio por la cantidad de un producto, si copiamos dicha fórmula se va adaptando a los diferentes productos y hasta aquí todo ok. Pero que pasa si queremos hacer la fórmula del IVA, es decir el 21% del importe bruto. Lo que suele hacer la mayoría de los usuarios que no conocen el uso del $ es hacer la siguiente fórmula en E2: =D2*21% Esto incumple la primera norma de creación de fórmulas que dice: En una fórmula nunca se deben incluir valores constantes salvo que se sepa que nunca van a poder cambiar y el iva es algo que puede y de echo ha variado a lo largo del tiempo. Por lo tanto si queremos hacer una hoja más versátil deberemos colocar el porcentaje de iva en una c...

Gif animado en Camtasia studio 8

 Si deseamos colocar un gif animado en Camtasia Studio 8 observamos que no es posible de forma directa ya que al importarlo lo incluye dentro de imágenes. El truco es convertirlo en un fichero AVI y para ello no hay nada como disponer de la página de conversión: Online Convert Al incorporarlo a nuestra película lo considera lógicamente un clip de video Et voilá