Desactivar la opción para cambiar el nombre a las hojas en excel 2010

Tengo un libro de excel con varias hojas, lo que quiero hacer es desactivar la opción para cambiar el nombre a las hojas, de modo que cuando otra persona abra el libro no le pueda cambiar el nombre a las hojas...

Y si se puede también hacer esa misma restricción pero para el libro, de modo que no se pueda cambiar el nombre al libro...

1 Respuesta

Respuesta
4

Para que no puedan modificar el nombre de las hojas, tienes que proteger el libro, entra al menú: Herramientas / Proteger / Proteger libro, incluso puedes poner una contraseña para que no lo puedan desproteger.

Para que no puedan guardar el libro con otro nombre, utiliza lo siguiente:

Instrucciones para ThisWorkbook
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
4. Del lado derecho copia la macro

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then
Cancel = True
End If
End Sub

Saludos. Dam
Si es lo que necesitas.

hola dam!!!! gracias por las intenciones de ayudarme.... si bloqueo el libro como me dices ya no me deja ejecutar ciertas macros... y necesito ejecutar esas macros... solo que si los usuarios cambian los nombres de las hojas se crea un conflicto al ejecutar las macros y no se ejecutan....

OPCIÓN B

En el menú de Herramientas / Opciones / en al pestaña de Ver

Hay una opción que se llama "Etiquetas de hojas", desactívala.

El problema es que esta opción te oculta todas las hojas, pero pueden cambiar el nombre si conocen la ruta desde el menú. También si conocen donde está la opción, pueden volver a activarla.

OPCIÓN C

Otra alternativa es que en las macro utilices el nombre código de la hoja.

Si tienes esto:

Sheets("Saldos").select

Puedes poner esto

Hoja1.select

Si entras a VBA, Y seleccionas una hoja en el panel de Proyecto – Vba, en la parte de abajo te aparecen las Propiedades de la hoja, notarás que hay una propiedad (Name), este nombre es el código de hoja, y solamente puede ser cambiado desde VBA, y tienes la propiedad Name, este nombre es un alias, pueden cambiarlo, pero en las macros estarás haciendo referencia al código de hoja.

OPCIÓN D

Otra opción es bloquear el libro, y cuando la macro necesite que el libro esté desbloqueado, que la macro lo desbloqueé, que realice las operaciones y al final que vuelva a bloquear el libro.

OPCIÓN E

En cada una de las hojas puedes poner esto
Sigue las Instrucciones para poner la macro en worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
4. Del lado derecho copia la macro
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Name = "siemprehoja1"
End Sub
Con lo anterior, cada que modifiquen algo en la hoja, automáticamente le volverá a poner el mismo nombre.

OPCIÓN F

También puedes poner en una celda esto, puede ser cualquier celda, incluso puede estar bloqueada o en una fila oculta o puedes cambiarle el color para que no se vea :
=CELDA("ARCHIVO",A1)
No importa lo que tengas en la celda A1, no importa que te regrese el error #! VALOR!, lo importante es que esta celda se va a ejecutar siempre que quieran cambiar el nombre de la hoja, entonces, sigue las instrucciones para worsheest y pon esta macro
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
ActiveSheet.Name = "siemprehoja1"
Application.EnableEvents = True
End Sub

Con esto cada vez que intenten cambiar el nombre, le regresara el nombre que definas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas