Curso Excel VBA y Macros – Cap. 12 – Referencias a hojas, propiedades y mejores prácticas
En este capítulo trabajaremos con hojas en Excel y aprenderemos a realizar correctamente las referencias. Ya hemos visto cómo hacer referencias a celdas de la hoja activa, ahora las referencias a las celdas será haciendo énfasis en la hoja donde queramos trabajar. Veremos cómo hacer referencias a hojas mediante:
-
El número de índice.
-
El nombre de la hoja.
-
El código de nombre de cada hoja.
Ver video Capítulo 12 Excel VBA & Macros
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Referencia a hojas mediante su número de índice
Como dice el título, haciendo referencia a cada hoja por su índice significa que la referencia será en base a un número de hoja, sin importar como se llame. La primera hoja tendrá el índice 1 y el índice de la última hoja será dependiendo cuántas hojas tengamos.
En el siguiente ejemplo vemos cómo hacer referencia usando la colección Sheets o Worksheets
Application.Worksheets(1).Select
Worksheets(5).Select
Sheets(6).Select
MsgBox Sheets(6).Name
Referencia a hojas por su nombre
Al decir que haremos referencia por su nombre estamos diciendo que será el nombre de la etiqueta de la hoja. Dependiendo la situación, tal vez necesites hacer referencia por el nombre de cada hoja en lugar de su índice. En el ejemplo siguiente vemos la referencia mediante nombre.
Sheets(“EXCELeINFO”).Select
Worksheets(“EXCELeINFO”).Select
Referencia mediante el código de nombre
El código de nombre lo podemos ubicar en el VBE de VBA, en la sección izquierda llamada Explorador de proyectos. Cada hoja tiene dos nombre, por ejemplo si vemos Hoja1(Referencia), Hoja1 es el código de nombre y Referencia es el nombre de la etiqueta.
Figura 1. Explorador de proyector del VBE para mostrar nombres de las hojas.
En el siguiente ejemplo vemos cómo hacer referencia mediante el código de nombre de una hoja.
MsgBox Sheets(6).CodeName
Hoja6.Range(“A1”).Value = “Prueba”
Hoja activa
Si quieres trabajar con la hoja activa, así como vimos que podemos trabajar con la celda activa (ActiveCell), entonces usaremos ActiveSheet.
ActiveCell.Value = “prueba2”
MsgBox ActiveSheet.CodeName
Copiar celdas a hoja oculta
Es posible leer y modificar valores de celdas en hojas ocultas, de hecho será muy común que modifiques celdas de hojas que no sean de la hoja activa, y si la hoja está oculta no es impediente. En el siguiente ejemplo ocultamos una hoja para posteriormente copiar un rango de una hoja origen a una hoja destino.
HojaDestino.Visible = False
HojaOrigen.Range(“A1”).CurrentRegion.Copy HojaDestino.Range(“A1”)
Propiedades y métodos de las hojas
Las siguiente serán varias propiedades y métodos que podremos utilizar con hojas en Excel.
HojaDestino.Name = “HojaPrueba”
HojaDestino.Tab.Color = VBA.vbBlue
HojaDestino.Tab.Color = RGB(153, 100, 158)
MsgBox Application.Worksheets.Count
Application.Worksheets.Move
Descarga el archivo de ejemplo
012 – Referencia y trabajo con hojas. Mejores prácticas.zip
Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.