Cuando desarrollamos códigos en VBA, en muchas ocasiones necesitamos referenciar distintas hojas (worksheets) de un mismo libro (workbook) o de un libro distinto al que contiene las macros para realizar operaciones entre ellas. A continuación te mostramos distintos métodos que podemos usar para hacer dichas referencias. Cada uno de estos métodos puede ser más o menos útil dependiendo de la naturaleza del desarrollo.
Referenciar hojas por su nombre visible
La referencia de las hojas por su nombre visible es muy usada, ya que a todos los que estamos acostumbrados al ambiente Excel nos resulta muy familiar. La debilidad de este método es que el nombre visible de la hoja debe permanecer inalterable para que no se genere un error en tu macro o código VBA.
Suponiendo que queremos referenciar una hoja para su activación, la secuencia de comandos para hacerlo es:
Sheets(“Nombre de pestaña”).Activate |
Ejemplo:
Sheets(“Hoja 1”).Activate
Referenciar hojas por su índice o lugar en el libro
Este método aplica cuando se busca referenciar la hoja según el orden de la pestaña que ocupe en el libro de Excel. Así, la primera pestaña tendrá un índice de 1, la segunda un índice de 2 y así sucesivamente. Con este método podrás cambiar el nombre visible de la hoja sin ningún problema, pero el orden o índice de las pestaña u hoja referenciada debe ser siempre el mismo para que el código VBA haga lo que necesitamos.
Siguiendo el mismo ejemplo de activar una determinada hoja, la secuencia de comandos para hacerlo utilizando índices es:
Sheets(“Índice de la pestaña”).Select |
Ejemplo:
Sheets(3).Select
Nótese que en este caso utilizamos la opción .Select, en lugar de .Activate para activar la hoja, pero ambas opciones generan el efecto deseado.
Referenciar hojas por su nombre interno o nombre de código
El nombre visible de las pestañas en Excel no es necesariamente el mismo nombre interno o de código con el que Excel se refiere a las hojas de trabajo. Para ver y modificar este nombre de código es necesario hacerlo desde el editor de VBA. Como ya te puedes imaginar, es más difícil que usuarios sin conocimientos de VBA tengan acceso a este nombre para modificaarlo, por lo que referencias las hojas de trabajo bajo este método ofrece mayor seguridad y estabilidad del código de nuestra macro, independientemente de si se modifica el nombre visible de la pestaña o su orden en el libro. Por esta razón es nuestra SmartCode Recomendation.
La secuencia de comandos para activar una hoja usando su nombre de código es:
Nombre Interno de la hoja.Activate |
Ejemplo:
Hoja1.Activate
Quieres saber más? Contáctanos...