En este artículo encontrarás un resumen de los conceptos necesarios para aprender VBA desde cero.
¿Qué es un Objeto en VBA?
Los objetos en Excel, es el conjunto de elementos y funcionalidades que se encuentran disponibles de forma organizada.
Ejemplos de Objetos en VBA
El libro (archivo), es un objeto, cada hoja es un objeto en VBA, cada celda es un objeto, las tablas dinámicas son objetos, y los gráficos también son objetos.
¿Qué es el Modelo de Objetos en VBA?
Cuando vemos Excel como una herramienta de desarrollo, es importante comprender que Excel no solamente es a hoja de cálculo, es además biblioteca de objetos que se pueden utilizar. El Modelo de Objetos en VBA es la colección de elementos y funcionalidades que están disponibles por medio de los objetos.
¿Qué es Application en VBA?
La mejor forma de aprender VBA (Visual Basic Aplicaciones) es entender el modelo de objeto para cada aplicación, en efecto, "cada aplicación", pues cada producto de la familia Office (Excel, Word, Access, PowerPoint y demás) tiene un modelo de objeto único propio. Se puede programar una aplicación usando los objetos que cada aplicación expone, y para ello cada producto de la familia Office tiene su propio objeto Application. Es decir, si usamos Application en Excel, nos estamos refiriendo al modelo de objetos del Excel, si usamos Application en Word nos estamos refiriendo al modelo de objetos en Word.
¿Qué es un procedimiento en VBA?
Un procedimiento es básicamente un código que realiza alguna acción sobre los objetos o con ellos. A continuación, se muestra un ejemplo de un simple procedimiento llamado ejemplo:
Sub ejemplo()
Sum 1+1
MsgBox "La respuesta es" & Sum
End Sub
¿Qué es una función en VBA?
Es un procedimiento (código) que tiene como propósito retornar un solo valor. Se puede llamar a una función desde otro procedimiento VBA (Visual Basic Aplicaciones) o usarlo como una fórmula desde la hoja de cálculo.
A continuación, se presenta un ejemplo de función llamada "lasuma":
Function lasuma(arg1, arg2)
lasuma= arg1 + arg2
End Function
¿Qué es la Jerarquía de los objetos en VBA?
Los objetos pueden actuar como contenedores de otros objetos. Por ejemplo, Excel es un objeto llamado Application y contiene otros objetos como Workbook y CommandBar. El objeto Workbook puede contener otros objetos como Worksheet y Chart. Un objeto Worksheet puede contener objetos como Range, PivotTable y demás. Nos referimos al orden de estos objetos como modelo de objeto de Excel.
¿Qué es una Colección en VBA?
Los objetos similares forman una colección. Por ejemplo, la colección Worksheets está compuesta por todas las hojas de
cálculo de un libro concreto. La colección CommandBars está compuesta por todos los objetos CommandBar. Las colecciones son objetos en sí mismas.
¿Cómo se separa un objeto que contiene a otro en VBA?
Cuando nos referimos a un objeto contenido o miembro, estamos especificando su posición en la jerarquía del objeto, usando un punto como separador entre el contenedor y el miembro.
Por ejemplo, nos podemos referir a un libro de trabajo llamado Libro1.xlsm como :
Application.Workbooks ("Libro1.xlsm" onclick="gtag('event','generico')" )
Si queremos referirnos a una celda específica se podría usar:
Application.Workbooks("Libro1.xlsm" onclick="gtag('event','generico')" ).Worksheets("Hoja1").Range("A1")
¿Qué son las propiedades en VBA?
Las propiedades son las características de un objeto. También se puede pensar en una propiedad como en una configuración para un objeto. Por ejemplo:
un objeto Range tiene propiedades como Value y Name.
Un objeto Chart tiene propiedades como HasTitle y Type.
Se puede usar Visual Basic Aplicaciones para identificar las propiedades del objeto y también para poder cambiarlas.
La separación del objeto con su propiedad es un punto, por ejemplo:
Range("A1").Value
¿Qué son los métodos en VBA?
Un método es una acción que se realiza por medio de un objeto.
Por ejemplo, uno de los métodos para el objeto Range es ClearContents. Este método borra el contenido del rango.
La separación del objeto con su método es por medio del punto, por ejemplo:
Range("A1").ClearContents
¿Cómo aprender VBA desde cero?
Luego de revisar este resumen te recomiendo continuar con la introducción a las macros, en ese artículo encontrarás un muy alto número de conceptos que te servirán para continuar aprendiendo:
Otro punto importante es conocer las estructuras de control como: