¿Qué son las referencias de celdas VBA?
Después de crear la macroMacros VBAConfigurar macros en Excel VBA es bastante sencillo. La estructura de las macros VBA de Excel implica empezar con una línea sub() antes de comenzar el código de la macro. Después de declarar las variables, el siguiente paso es crear referencias de celdas VBA, que realmente se refieren a cada variable y pueden utilizarse para manipular los datos dentro de la hoja de Excel. La realización de acciones sobre variables para la referencia de datos se conoce como métodos VBA.
Para ello, es necesario conocer los diferentes métodos que puede aplicar dentro de VBA. El primer paso ideal es aprender a referirse a celdas de datos específicas.
Más información en nuestra página web’Curso de modelado VBA.
Referencias de celdas VBA – Referenciación de archivos y hojas de trabajo
Para saber qué datos necesita manipular, necesita decirle a Excel dónde encontrar los datos. Esto se hace en la siguiente jerarquía: Libro de trabajo (archivo de Excel) > Hoja de trabajo > Rango o celda. Si se salta niveles de la jerarquía, Excel simplemente asumirá que debe buscar en el Libro de Trabajo u Hoja de Trabajo actualmente activo. No puede saltarse el último nivel. Necesitas decirle a Excel un rango o celda específica o decirle a Excel que busque en la celda activa. Decirle a Excel en qué libro y hoja de trabajo debe buscar no es necesario, pero es valioso cuando hay varios libros y hojas de trabajo abiertos.
Referencias de celdas VBA – Seleccionar rangos o celdas
La selección de rangos y celdas funciona un poco diferente en comparación con la selección de libros y hojas. Puedes seleccionar una o más celdas (conocidas como rango) o incluso varios rangos. Mirando el código, es posible que te resulte familiar, ya que el texto encerrado entre paréntesis es similar al utilizado en las fórmulas de Excel.
Referencias de celdas VBA – Poniendo todo junto
Ahora que sabe cómo referirse a libros, hojas y celdas, necesita combinarlos en una línea, separados por un símbolo de punto. Por ejemplo, para seleccionar el rango A42 a D45 en la hoja3 del libro de trabajo actualmente activo:
ActiveWorkbook.Hojas(“hoja3”).Rango(“A42:D45”)
Esta es la referencia de celda VBA que Excel necesita para encontrar los datos con los que quiere trabajar. Sin embargo, ahora tienes que decirle a Excel qué hacer con los datos. Aquí es donde se empieza a trabajar con los métodos.
Manipulación de referencias de celdas VBA
A partir de aquí, la cosa se complica un poco. Cada referencia tiene muchas acciones diferentes (conocidas como “métodos”) que puede tomar, y ciertas referencias tienen métodos que no están disponibles para otras. Sin embargo, para simplificar las cosas, dejemos que’s discutir cómo decirle a Excel que seleccione y resalte los datos en el modelo, cómo copiarlos y cómo almacenarlos.
Para resaltar los datos en el modelo, el método adecuado a utilizar es “Seleccione” o “Activar”.
ActiveWorkbook.Hojas(“hoja3”).Rango(“A42:D45”).Seleccione
ActiveWorkbook.Hoja(“hoja3”).Rango(“A42:D45”).Activar
La ejecución de esta macro pulsando F5 hará que Excel resalte el rango A42 a D45.
Para copiar los datos del modelo, el método a utilizar es “Copiar.”
ActiveWorkbook.Hojas(“hoja3”).Rango(“A42:D45”).Copiar
La ejecución de esta macro indicará a Excel que copie el contenido del rango para pegarlo posteriormente. Si ejecuta esta macro, usted’Observará que Excel resaltará el rango con el “ejecutando hormigas” que normalmente se ve cuando se copian datos.
Para acceder al valor de una celda, se utiliza la función “Valor” método. Usando el valor, puede almacenar el valor de una celda dentro de una variable, o copiar el valor exacto de esa celda en otra celda. Ten en cuenta que el comando valor no funciona con rangos. Sólo funcionará con celdas singulares.
Rango(“A45”).Valor = Rango(“A42”).Valor
Las macros siempre leerán de izquierda a derecha. Esto significa que la celda A45 contendrá ahora el valor dentro de la celda A42 después de que se ejecute la macro.
Para almacenar el valor de una celda en una variable, se utiliza la función “Valor” pero también hay que decirle a Excel en qué variable almacenarlo. Esta acción ganó’no funciona para un rango, ya que Excel sólo puede almacenar un dato dentro de cada Variable.
Dim myVariable as String
miVariable = LibroActivo.Hojas(“hoja3”).Rango(“A42”).Valor
Si, por ejemplo, el rango A42 contiene la frase “Instituto de Finanzas Corporativas”, ahora se almacenaría bajo la variable de cadena myVariable. Puedes utilizar este método para almacenar valores para su uso posterior. Esta acción también es útil cuando se necesita utilizar el mismo dato varias veces, por lo que no’no tiene que escribir la referencia larga cada vez. En lugar de escribir el libro de trabajo, la hoja y el rango, puedes simplemente usar la variable en la que lo almacenaste.
Recursos adicionales
Para seguir aprendiendo y desarrollando tu base de conocimientos, explora los recursos adicionales relevantes que aparecen a continuación: