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:

Combinar Correspondencia con varias cuentas en Outlook

A veces necesitamos realizar un mailing (Combinar correspondencia) y disponemos de varias cuentas de correo en nuestro Outlook. Comprobamos que no funciona el elegir una de ellas como predeterminada ya que para el envío por correspondencia usa un servicio llamado MAPI que no usa la cuenta predeterminada.  Antiguamente en versiones como la 2010 de office simplemente con cambiar el fichero de datos predeterminado de la cuenta bastaba para ello. Actualmente (nosotros usamos 365, equivalente a la 2016) la solución pasa por crear un perfil de correo en el que configuremos la cuenta que usaremos para combinar correspondencia. Adjuntamos un video en el que se explica en Windows 10 como crear un perfil de correo de una cuenta. Una vez creado ese perfil de Correo pasaríamos a realizar la combinación de Correspondencia y en el último paso cuando  realizamos la combinación de correspondencia nos solicitará el perfil a usar para poder enviar los correos y en ese caso elegiríamos el perfil...

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