Permitir editar rangos por usuario ingresando contraseña en Excel
En este video te mostraré la manera en la que podemos lograr que cada usuario de nuestro archivo tenga una contraseña para editar un rango de una hoja de Excel.
Cada usuario tendrá un rango asignado para modificar y una contraseña única para poder modificarlo.
Te lo mostraré de 2 maneras:
-
Sin macros, usando herramientas de Excel.
-
Con macros, automatizando el proceso cuando tengas muchos usuarios.
Ver video Permitir editar rangos por usuario en Excel
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Permitir editar rangos (sin macros)
Excel tiene una manera en la que podemos asignar contraseñas de modificación a rangos, lo hacemos de la siguiente manera:
-
Elegimos un rango.
-
Nos vamos a la pestaña Revisar > Permitir editar rangos.
-
Presionamos el botón Nuevo.
-
Definimos un título al rango, en este caso lo dejaremos como Rango1.
-
Elegimos el rango.
-
Ingresamos una contraseña.
-
Aceptar.
Figura 1. Permitir editar rangos en Excel usando contraseña.
Para que lo anterior funcione, debemos proteger la hoja y luego intentar modificar el rango. Notarás que se pide una contraseña cuando lo queremos modificar.
Figura 2. Ingresar contraseña para modificar un rango en Excel.
Editar rangos por usuario (automatizando con macros)
Tenemos la siguiente Tabla de usuarios donde definimos el nombre que se dará al rango, el rango definido y la contraseña que se deberá ingresar para modificar el rango.
Figura 3. Tabla de usuarios en Excel.
Código VBA de la macro
Usaremos la siguiente macro para automatizar el proceso.
Option Explicit Sub ProtegerRangos() Dim TablaUsuarios As ListObject Dim ConteoFilas As Integer Dim i As Integer Set TablaUsuarios = Sheets("Hoja2").ListObjects("Usuarios") ConteoFilas = TablaUsuarios.ListRows.Count For i = 1 To ConteoFilas With TablaUsuarios.ListRows(i) Sheets("Hoja1").Protection.AllowEditRanges.Add _ Title:=.Range(1), _ Range:=Range(.Range(2)), _ Password:=.Range(3) End With Next i Call Proteger End Sub Sub Proteger() Sheets("Hoja1").Protect Password:="excel" End Sub Sub Desproteger() Sheets("Hoja1").Unprotect Password:="excel" End Sub
Descargar el archivo de ejemplo
Permitir editar rangos por usuario ingresando contraseña – EXCELeINFO.zip
Si te gustó este tutorial, por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.