Objetos propios de Excel en VBA

Veamos algunos objetos propios de Excel y que podemos usar desde VBA. En el siguiente post, veremos algunos objetos que son de otras aplicaciones como Internet Explorer.

Realmente los objetos que más frecuentemente se usan en excel son los siguientes:

Objeto Aplicación
Objeto Libro de Trabajo
Objeto Hoja de Trabajo
Objeto Rango de Celdas

Veamos en qué consiste cada uno.



Objeto Aplicación


El Objeto Application tiene diferentes miembros como libro activo, hoja activa, celda activa, gráfico activo, encriptación de la sesión, ventana activa y muchos otros. Para visualizar todos los miembros de este objeto, solo se debe escribir la palabra Application seguida de un "." y presionar las teclas "Ctrl" + espaciador. Aparece una lista de todos los miembros y a su vez cada uno de ellos es un objeto con sus propios miembros.



Objeto Libro de Trabajo


El Objeto Workbooks tiene diferentes miembros y funciones como crear un nuevo libro de Excel, cerrar un libro, abrir un libro existente, entre otros. Para visualizar todos los miembros y funciones de este objeto, solo se debe escribir la palabra Workbooks seguida de un "." y presionar las teclas "Ctrl" + espaciador. Aparece una lista de todos los miembros y funciones, y a su vez cada uno de los miembros es un objeto con sus propios miembros.



Objeto Hoja de Trabajo


El Objeto Worksheets tiene diferentes miembros y funciones como crear una nueva hoja, definir la visibilidad, copiar una hoja, seleccionar una hoja para un trabajo específico, borrar una hoja, entre otros. Para visualizar todos los miembros y funciones de este objeto, solo se debe escribir la palabra Worksheets seguida de un "." y presionar las teclas "Ctrl" + espaciador. Aparece una lista de todos los miembros y funciones, y a su vez cada uno de los miembros es un objeto con sus propios miembros.



Objeto Rango de celdas


El Objeto Range tiene diferentes miembros y funciones como activar rango, aplicar filtros avanzados, rellenar, colocar bordes, seleccionar una celda del rango, limpiar el contenido, limpiar el formato del rango, copiar, pegar, entre otros. Para visualizar todos los miembros y funciones de este objeto, solo se debe escribir la palabra Range seguida de un "." y presionar las teclas "Ctrl" + espaciador. Aparece una lista de todos los miembros y funciones, y a su vez cada uno de los miembros es un objeto con sus propios miembros.



Buscar otros objetos

Para ver más objetos, podemos ir al examinador de objetos presionando F2 o dando clic en el icono en forma de caja con objetos saliendo de ella:



Una vez que ingresamos al examinador, buscamos por palabra clave de lo que necesitamos. Por ejemplo, si queremos añadir un gráfico, buscamos por palabra clave "chart".



Podemos ver que existe una clase (objeto) llamada "Shapes" y que tiene un miembro llamado "AddChart2". Si seleccionamos esa clase, veremos todos los miembros en la sección más abajo. En la última sección vemos que "AddChart2" es una función y nos muestra cuales son los argumentos para usarla. Para saber más sobre el uso de esta función, se debe dar clic en el icono de interrogación en la parte superior, y se abrirá una página en internet con el documento de ayuda.



Crear nuestros propios objetos

Para crear un nuevo objeto se debe agregar un nuevo modulo de clase.



Llamaremos a esta clase "humano". Por lo que le vamos a dar una propiedad sencilla como el color de los ojos y un método de selección aleatoria para el color de los ojos.

En el proceso de dar propiedades a los objetos, se debe crear una variable (publica o privada) y luego definir dos métodos: uno para obtener el valor de la variable y otro para modificar el valor de la variable. Esto se hace con ayuda de las sentencias "Property Get" y "Property Let" respectivamente.

Para crear un método, se puede usar las sentencias "Sub" o "Function". Las sentencias "Function" dentro de los módulos de clase no aplican directamente para usarse en una celda de Excel. Las sentencias "Function" solo son aplicables directamente en una celda de Excel, si se escriben dentro de un módulo simple. Veamos como luce nuestro objeto humano:



Luego podemos buscar en el explorador de objetos, el objeto humano que hemos creado. Veremos que los métodos aparecen en color amarillo, mientras que las propiedades aparecen con un icono en forma de mano color gris.



Desde un módulo externo, podemos llamar nuestro nuevo objeto. Para ello, debemos definir una nueva variable tipo "humano" y luego podemos llamar los atributos y funciones del objeto.



En conclusión, los objetos son herramientas que facilitan el trabajo de grandes lineas de código. VBA no es el mejor lenguaje para programación orientada a objetos. Para ello se recomienda el lenguaje Python. Sin embargo es difícil compartir proyectos escritos en Python, a no ser que todos tengan Python instalado en sus computadores. Es mas frecuente encontrar en las oficinas, que todos tienen Excel instalado. Por ésto es fundamental conocer las capacidades de VBA y sus aplicaciones en el mundo laboral.

Hasta aquí llegamos en este post. Si te ha sido de utilidad o te gustaría saber algún tema en especial no dudes en escribir en los comentarios. Hasta pronto.

No hay comentarios.:

Publicar un comentario