No permitir el cambio de nombre de todas mi hojas de excel
Buenas noches:
Por favor cual seria el código para no permitir el cambio de nombre de todas mis hojas de calculo y como volver a que si se puede cambiar los nombres??
Debes colocar este codigo en el codigo de cada hoja
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If ActiveSheet.Name <> "Hoja1" Then 'Aqui el nombre definitivo de la hoja en la pestaña ActiveSheet.Name = "Hoja1" 'Aqui el nombre igual al anterior End If
End Sub
''''''''''''''
Colocar en el codigo de ThisWorkbook
'Este actua antes de guardar y cerrar el libro
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Hoja1.Name <> "Gerson" Then Hoja1.Name = "Gerson" If Hoja2.Name <> "Pineda" Then Hoja2.Name = "Pineda" If Hoja3.Name <> "Joao" Then Hoja3.Name = "Joao" 'ect 'ect End Sub
''''''''''''''''''''''''''''''
'Las 2 que siguen. Al tener protegido el codigo para que nadie le acese, esto hace que de ninguna manera se logre _ cambiar el nombre a ninguna hoja del libro, ni durante el libro abierto ni después de cerrar el _ libro. Para que funcione, tienenn que estar las 2 macros en conjunto y se da justo al cambiar de hoja Private Sub Workbook_SheetActivate(ByVal Sh As Object) hojactiva = Sh.Name End Sub Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) On Error Resume Next Sh.Name = hojactiva On Error GoTo 0 End Sub
Cambia Hoja1 por el nombre de pestaña de tu hoja.
Debes colocar este codigo en el codigo de cada hoja
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If ActiveSheet.Name <> "Hoja1" Then 'Aqui el nombre definitivo de la hoja en la pestaña
ActiveSheet.Name = "Hoja1" 'Aqui el nombre igual al anterior
End If
End Sub
''''''''''''''
Colocar en el codigo de ThisWorkbook
'Este actua antes de guardar y cerrar el libro
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Hoja1.Name <> "Gerson" Then Hoja1.Name = "Gerson"
If Hoja2.Name <> "Pineda" Then Hoja2.Name = "Pineda"
If Hoja3.Name <> "Joao" Then Hoja3.Name = "Joao"
'ect
'ect
End Sub
''''''''''''''''''''''''''''''
'Las 2 que siguen. Al tener protegido el codigo para que nadie le acese, esto hace que de ninguna manera se logre _
cambiar el nombre a ninguna hoja del libro, ni durante el libro abierto ni después de cerrar el _
libro. Para que funcione, tienenn que estar las 2 macros en conjunto y se da justo al cambiar de hoja
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
hojactiva = Sh.Name
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
On Error Resume Next
Sh.Name = hojactiva
On Error GoTo 0
End Sub
Prueba a ver cual se adapta a lo que quieres
Gracias gracias, buena idea
Jesús
Jesus Martinez Plantarosa