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

 
Vista:
sin imagen de perfil

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

Publicado por Dani (1 intervención) el 01/12/2023 11:57:13
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

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

Publicado por Antoni Masana (2478 intervenciones) el 01/12/2023 15:46:05
Tienes que pasar el nombre de la hoja como objeto o utilizar la función Sheets()

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

1
Sheets(nombre_hoja).btn_activar.ForeColor = RGB(0, 0, 0)

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar