¿cómo utilizar una hoja de cálculo de excel en vba?
En VBA, el objeto de hoja de trabajo representa una única hoja de trabajo que forma parte de la colección de hojas de trabajo (u hojas) del libro. Usando el objeto de hoja de trabajo, puede hacer referencia a la hoja de trabajo en código VBA y consultar una hoja de trabajo, también puede acceder a las propiedades, métodos y eventos relacionados con ella.
A continuación se ofrece una descripción general rápida de la posición de una hoja de cálculo en la jerarquía de objetos de Excel.
Aplicación ➪ Libro de trabajo ➪ Hojas de trabajo ➪ Hoja de trabajo
En este tutorial, aprenderemos cómo usar y hacer referencia a una hoja de trabajo en Excel usando código VBA.
Enlaces útiles: Ejecutar una macro – Grabador de macros – Editor de Visual Basic – Manual de macros personales
Hojas versus hojas de cálculo
Empecemos por el principio. Esto es importante para comprender la diferencia entre una hoja de cálculo y una hoja. En Excel, tiene tipos de hojas que puede insertar en un libro de trabajo, y una hoja de trabajo es uno de esos tipos. Como puede ver en la instantánea a continuación, cuando inserta una nueva hoja, Excel le pide que seleccione el tipo de hoja.
Esto es lo que hay que entender: cuando usa la palabra «hojas», se refiere a todas las hojas (hojas de cálculo, hojas de macros y hojas de gráficos), pero cuando usa la palabra «hoja de cálculo», solo se refiere a hojas de cálculo ( consulte también ).
Acceda a una hoja de trabajo (hoja) usando VBA
VBA le ofrece diferentes formas de acceder a una hoja de trabajo desde un libro y veremos diferentes formas de hacerlo más adelante.
1. Consulte una hoja usando el nombre
Cada hoja tiene su nombre para identificarla, y también puedes usarlo para referirte a esa hoja. Supongamos que desea hacer referencia a «Hoja1», el código sería:
Sheets(“Sheet1”) Worksheets(“Sheet1”)
Los dos códigos anteriores se refieren a «Hoja1».
2. Consulte la hoja usando el número
También puede utilizar un número de hoja para hacer referencia a ella. Supongamos que si una hoja está en la quinta posición del libro, puede usar ese número para referirse a ella.
Sheets (5) Worksheets (5)
Arriba hay dos líneas de código que funcionan de dos maneras diferentes. La primera fila se refiere a la quinta hoja y la segunda a la quinta hoja de trabajo del libro de trabajo.
3. Consulte la hoja activa
Si una hoja ya está activa, puede hacer referencia a ella utilizando la palabra clave «Hoja activa» en lugar de su nombre.
ActiveSheet
Si desea realizar una actividad en ActiveSheet, puede utilizar el objeto «Activesheet», pero si no lo utiliza, VBA seguirá realizando la actividad en la hoja activa.
Leer: Seleccione un rango usando VBA
4. Consulte una hoja usando el nombre de la ventana de código.
Cada hoja tiene su ventana de código y hay un nombre para esta ventana de código. Normalmente un usuario puede cambiar el nombre de la hoja desde la pestaña, pero el nombre que tiene en la ventana de código no se puede cambiar a menos que lo haga desde las propiedades.
Abra el Editor de Visual Basic desde la pestaña Desarrollador y en la sección de propiedades podrá ver el nombre de la hoja que seleccionó.
Y también puedes cambiar este nombre desde la sección de propiedades.
Ahora puede consultarlo utilizando el nombre de la ventana de código.
mySheet
5. Consulte Varias hojas
También puede hacer referencia a varias hojas a la vez utilizando una sola línea de código. Para esto puedes usar una matriz, como el siguiente código.
Sheets(Array("Sheet1", "Sheet2"))
Este código se refiere a «Hoja1» y «Hoja2», pero hay una cosa que debes entender cuando haces referencia a varias hojas: hay algunos métodos y propiedades que no puedes usar.
6. Consulte la hoja en otro libro de trabajo.
Una hoja de trabajo u hoja es parte de la colección de hojas de trabajo de un libro de trabajo y, si desea hacer referencia a una hoja específica que no sea el libro de trabajo activo, primero debe consultar ese libro de trabajo.
Workbooks("Book1").Sheets("Sheet1")
Para ejecutar este código debe tener abierto el “Libro1”.
Propiedades, métodos y eventos relacionados con una hoja u hoja de trabajo
En VBA, cada objeto de Excel tiene propiedades, métodos y eventos que puedes utilizar, y de la misma manera puedes acceder a las propiedades y métodos que vienen con él. Una vez que especifique una hoja de trabajo, escriba un punto (.) y obtendrá la lista.
En esta lista, todos los íconos donde puedes ver una mano son propiedades, y donde tienes un ladrillo verde son métodos.
Ejemplo de propiedad
Supongamos que desea cambiar el color de la pestaña de la hoja de trabajo. En este caso, puede utilizar la propiedad TAB de la hoja de trabajo.
mySheet.Tab.ThemeColor = xlThemeColorAccent2
En la línea de código anterior, tiene la propiedad de pestaña y otra propiedad de color del tema para cambiar el color de la pestaña de la hoja de trabajo.
Método de ejemplo
Asimismo, puede utilizar los métodos proporcionados con las hojas de cálculo. Uno de los métodos más comunes es el método «Seleccionar» que puede utilizar para seleccionar una hoja.
mySheet.Select
En el momento en que ejecuta este código, selecciona «mySheet» en el libro activo.
Evento de ejemplo
Algunos eventos están asociados con una hoja de trabajo. Por ejemplo, cuando activas una hoja, es un evento, y de manera similar, cuando cambias algo en la hoja. Vea el siguiente código donde tiene código para ejecutar cuando ocurre un evento (cambio en la hoja de trabajo).
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("A1").Value = Range("A1").Value + 1 End Sub
Este código ingresa un valor en la celda A1 de la hoja cada vez que realiza un cambio en la hoja de trabajo.
Declarar un objeto de hoja de trabajo
También puede declarar una variable como una hoja de trabajo, lo que facilita el uso de esa hoja de trabajo en código VBA. Utilice primero la palabra clave DIM y luego el nombre de la variable. Después de eso, especifique el tipo de objeto como Hoja de trabajo.