El objeto Application en VBA

El objeto Application en VBA

El objeto Application en VBA

Cuando escribimos macros con VBA trabajamos con múltiples objetos que pueden ejecutar nuestras instrucciones adecuadamente, pero el objeto Application está en el nivel más alto de la jerarquía del modelo de objetos de Excel.

El objeto Application simboliza a Excel mismo y nos da acceso a opciones y configuraciones a nivel de la aplicación. Muchas de las opciones que podemos modificar con el objeto Application son las mismas que encontramos en la ficha Archivo dentro del cuadro de diálogo Opciones de Excel.

Ya que el objeto Application es el objeto principal dentro de VBA todos los demás objetos derivan de él. Es por ello que encontrarás frecuentemente instrucciones que comienzan especificando el objeto Application:

Application.ActiveSheet.Name = "Reporte de Ventas"

Sin embargo, VBA nos permite, en la mayoría de los casos, omitir la escritura del objeto Application ya que supone que todos los demás objetos provienen de él. De esta manera la siguiente instrucción también es válida.

ActiveSheet.Name = "Reporte de Ventas"

Colecciones del objeto Application

El objeto Application tiene algunas colecciones que son de mucha utilidad como SheetsColumns y Rows. La colección Sheets nos permite acceder a todas las hojas de un libro:

Application.Sheets.Count

Es muy importante mencionar que la colección Sheets se referirá al libro de Excel que se encuentre activo en el momento de ejecutar esta instrucción. Las colecciones Columns y Rows nos permitirán acceder a las columnas y filas de la hoja activa.

Application.Columns(5).Select
Application.Rows(5).Select

Propiedades del objeto Application

El objeto Application tiene muchas propiedades como para mencionarles todas en esta ocasión, pero algunas de las más importantes son las siguientes:

  • ActiveWorkbook. Devuelve un objeto Workbook que representa el libro de Excel activo.
  • ActiveSheet. Regresa un objeto Worksheet que representa a la hoja que esté actualmente seleccionada (activa).
  • ActiveCell. Devuelve un objeto Range que representa la celda activa dentro de la hoja activa en el libro de Excel activo.
  • ThisWorkbook. Esta propiedad devolverá un objeto Workbook que representará el libro que contiene la macro que está siendo ejecutada.

Métodos del objeto Application

Uno de los métodos más utilizados del objeto Application es el método InputBox que nos ayuda a mostrar un cuadro de diálogo que solicita al usuario el ingreso de algún valor. Observa la siguiente línea de código:

Impresiones = Application.InputBox(Prompt:="Número de impresiones:", _
Title:="Imprimir", Default:=1, Type:=1)

Esta instrucción hará que Excel muestre un cuadro de diálogo pidiendo al usuario ingresar el número de impresiones que desea realizar. El número ingresado por el usuario se guardará en la variable Impresiones.

El objeto Application en VBA