KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo establecer contraseñas para proteger hojas de cálculo individuales de distintos usuarios en Excel?

AutorXiaoyang Fecha de modificación

En Excel, puede establecer contraseñas diferentes para distintas hojas de cálculo. Esto significa que un usuario podría realizar cambios en una hoja con una contraseña, y otro usuario podría usar una contraseña distinta para modificar otra hoja. Sin embargo, a veces solo desea que cada usuario pueda ver y acceder únicamente a su propia hoja. ¿Es posible resolver esto en Excel?


Para proteger cada hoja individualmente y limitar el acceso a las hojas según el usuario, aplique el siguiente código VBA:

1. Abra un libro de trabajo nuevo y cree una hoja llamada «Main», tal como se muestra en la captura de pantalla:

Una captura de pantalla de la hoja principal en Excel donde se crea la primera hoja de cálculo

2. A continuación, pulse las teclas «Alt» + «F11» para abrir la ventana de «Microsoft Visual Basic para Aplicaciones», haga doble clic en «ThisWorkbook» del panel izquierdo «Proyecto - VBAProject» para abrir un módulo de código en blanco y, a continuación, copie y pegue el siguiente código VBA en la ventana de código (consulte la captura de pantalla):

Código VBA: Establecer contraseñas para proteger hojas individuales por usuario

Option Explicit
Dim gUserName As String
Dim gUserPass As String
Private Sub Workbook_Open()
'Updateby ExtendOffice
Dim xWShs As Sheets
Dim xWSh As Worksheet
Dim xUserName As String
Dim xPass As String
Dim xBolH As Boolean
GTINPUT:
xUserName = InputBox("Enter the user name")
If TypeName(xUserName) = "String" Then
    If xUserName = "" Then
        Exit Sub
    End If
End If
xUserName = LCase(xUserName)
xPass = InputBox("User name:" & xUserName & Chr(13) & Chr(10) & "Enter the password:")
If TypeName(xPass) = "String" Then
    If xPass = "" Then
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
    End If
Else
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End If
Set xWShs = Worksheets
xBolH = False
For Each xWSh In Worksheets
    If xWSh.Name = xUserName Then
    xBolH = True
    Exit For
    End If
Next
If xBolH Then
Set xWSh = xWShs(xUserName)
On Error GoTo GTINPUT2
xWSh.Unprotect (xPass)
xWSh.Visible = True
xWSh.Activate
Else
Set xWSh = xWShs.Add
xWSh.Name = xUserName
xWSh.Activate
End If
gUserName = xUserName
gUserPass = xPass
Exit Sub
GTINPUT2:
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xWSh As Worksheet
On Error Resume Next
Set xWSh = Worksheets(gUserName)
xWSh.Protect Password:=gUserPass, DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
For Each xWSh In Worksheets
    If xWSh.Name <> "Main" Then
        xWSh.Visible = xlSheetVeryHidden
    End If
Next xWSh
ActiveWorkbook.Save
End Sub

Una captura de pantalla de la ventana de Visual Basic para Aplicaciones con el código VBA para establecer contraseñas en hojas individuales

3. A continuación, coloque el cursor al final del script «Private Sub Workbook_Open()» y pulse la tecla «F5» para ejecutarlo. Aparecerá un cuadro de diálogo en el que deberá introducir el nombre de usuario para el que desea crear una hoja; consulte la captura de pantalla:

Una captura de pantalla del cuadro de diálogo que solicita un nombre de usuario para crear una nueva hoja en Excel

4. Luego, haga clic en el botón «Aceptar» y, en el cuadro de diálogo siguiente, introduzca una contraseña para proteger esta hoja (consulte la captura de pantalla):

Una captura de pantalla del cuadro de diálogo que solicita una contraseña para proteger la hoja recién creada en Excel

5. Siga haciendo clic en el botón «Aceptar» y se creará al instante una hoja nueva con el nombre de usuario. Podrá introducir los datos necesarios para ese usuario. Consulte la captura de pantalla:

Una captura de pantalla de la hoja recién creada con el nombre del usuario en Excel

6. Repita los pasos anteriores (3–5) para crear hojas adicionales, una a una, según sus necesidades.

7. Tras crear las hojas, guarde el libro de trabajo actual haciendo clic en «Archivo» > «Guardar como». En el cuadro de diálogo «Guardar como», especifique un nombre de archivo y seleccione el formato «Libro de Excel habilitado para macros (*.xlsm)» en la lista desplegable «Tipo de archivo», tal como se muestra en la captura de pantalla:

Una captura de pantalla del cuadro de diálogo Guardar como en Excel, mostrando la lista desplegable Tipo de archivo para Libro de Excel habilitado para macros (*.xlsm)

8. A continuación, haga clic en el botón Guardar para almacenar este archivo.

9. Después, cierre el libro y vuelva a abrirlo. A continuación, haga clic en «Habilitar contenido» en la parte superior de la Barra de fórmulas para activar el código.

Una captura de pantalla del botón Habilitar contenido en Excel para activar el código VBA

10. Ahora aparecerá un cuadro de diálogo que le pedirá introducir el nombre de usuario y la contraseña para abrir la hoja asignada específicamente a ese usuario.

11. Por último, al enviar este libro a otros usuarios, debe facilitar al destinatario el nombre de usuario y la contraseña correspondientes, de modo que solo puedan abrir y editar sus propias hojas, sin autorización para acceder a otras hojas de cálculo.

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos