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.

Permitir editar rangos en Excel usando contraseña

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.

Ingresar contraseña para modificar un rango en Excel

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.

Tabla de usuarios en Excel

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.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: