Saltar al contenido

Error 9 en tiempo de ejecución, subíndice fuera de intervalo


Recommended Posts

publicado

Hola buenos días amigos de Ayuda Excel

Un excelente colaborador de AE me ayudó con los 2 códigos grandes incluidos en la hoja COLORES y que funciona de manera correcta.

Como medida de seguridad he incluido un código en la hoja COLORES para evitar el cambio de nombre de la hoja, sin embargo, al verificar su funcionamiento arroja el error 9 en tiempo de ejecución, subíndice fuera de intervalo, resaltando en amarillo la sexta línea del primer código grande:

If Not Intersect(Sheets("COLORES").Cells(ActiveCell.Row, ActiveCell.Column), Range("A1:A" & uf + 1)) Is Nothing Then

Hay otra forma de evitar el cambio de nombre de la hoja sin que afecte la otra macro??

ERROR 9 CON MACRO EVITAR CAMBIO DE NOMBRE.xlsm

publicado

Hola @Leonardo Briceño

En lugar de evitar que el usuario le cambie de nombre a la hoja, tal vez te sería más sencillo no usar ese nombre en tu código, de esa forma el usuario puede cambiar lo que quiera y tu código aun funcionará.

Recuerda que las hojas tienen dos nombres:

1.- El nombre para los usuarios y demás primates (el que se ve en las etiquetas de hojas)

2.- El nombre interno del objeto, que se puede ver y cambiar desde el editor de VBA.

 

Dicho de otra forma, puedes cambiar esta línea:

If Not Intersect(Sheets("COLORES").Cells(ActiveCell.Row, ActiveCell.Column), Range("A1:A" & uf + 1)) Is Nothing Then

por esta otra

If Not Intersect(Hoja2.Cells(ActiveCell.Row, ActiveCell.Column), Range("A1:A" & uf + 1)) Is Nothing Then

En tu libro, el nombre interno es Hoja2, ya con eso no importa el nombre que el usuario puede ver.

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.