Saltar al contenido

Llamar objeto de una hoja usando una variable con el nombre de dicha hoja


Recommended Posts

publicado

Hola, quería hacer una pregunta que creo que es sencilla en poder hacerse o no, pero no tengo conocimientos para saberlo.


Tengo varias hojas (pongamos para el ejemplo solo Hoja1, Hoja2) y un mismo botón (btn_activar) en cada una de ellas.

Quiero crear en un módulo una función que al pulsar el botón, hace una serie de acciones (el hacerlo en el módulo es para no repetir todo el código en cada una de las hojas y posteriores modificaciones).

Para llamarlo desde el módulo, si pongo por ejemplo:

Hoja1.btn_activar.ForeColor = RGB(0, 0, 0)  [funciona correctamente]

Pero si le paso el nombre de la hoja (porque variará en función de donde pulse el botón) como una variable (nombre_hoja), no es válido:

nombre_hoja.btn_activar.ForeColor = RGB(0, 0, 0)  [error]

¿Podéis orientarme como podría hacerlo?


Muchas gracias

publicado

Sheets(NombreHoja).btn_activar.ForeColor = RGB(0, 0, 0)

 

Donde NombreHoja es el nombre de la variable que contiene el nombre de la hoja excel no el nombre del objeto VBA.

Ejemplo:

Si tu hoja se llama "Maestro de artículos":

NombreHoja = "Maestro de artículos"
Sheets(NombreHoja).btn_activar.ForeColor = RGB(0, 0, 0)

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.