La seguridad de Excel es bastante importante para su trabajo. En este artículo, presentaremos el método para establecer diferentes privilegios para diferentes usuarios por Excel VBA.
En nuestro artículo anterior Cómo crear una ventana de inicio de sesión para proteger su libro de Excel, hemos introducido el método para crear una ventana de inicio de sesión para su libro de Excel. Pero cuando varios usuarios necesitan obtener acceso al documento, debe realizar configuraciones adicionales. Además, debe garantizar que esos usuarios no realizarán cambios incorrectos en el archivo. Ahora siga los pasos a continuación y vea cómo terminar esta tarea.
Establecer diferentes privilegios
Supongamos que ahora hay tres representantes de ventas que necesitan modificar este archivo. El nombre y la contraseña se configuran como se muestra en la imagen a continuación:
Y cada persona deberá modificar una determinada hoja de trabajo.
- Presione las teclas de método abreviado “Alt + F11” en el teclado para abrir el editor de Visual Basic.
- Y luego inserte un nuevo formulario de usuario en el editor.

- En este paso, inserte dos etiquetas, dos cuadros de texto y dos botones en el formulario de usuario.
- Y luego cambie el título del formulario de usuario y los elementos que insertó en el paso 3. También puede consultar la imagen a continuación:
- Después de eso, cambie "PasswordChar" a "*" para el segundo cuadro de texto.
- Después de eso, haga doble clic en el formulario de usuario.
- Luego ingrese los siguientes códigos en el módulo:
Private Sub CommandButton1_Click() Dim objTargetWorksheet As Worksheet If (TextBox1.Value = "John" And TextBox2.Value = "234") _ Or (TextBox1.Value = "Amy" And TextBox2.Value = "345") _ Or (TextBox1.Value = "Paul" And TextBox2.Value = "456") Then Me.Hide: Application.Visible = True For Each objTargetWorksheet In ActiveWorkbook.Worksheets If objTargetWorksheet.Name = TextBox1.Value Then objTargetWorksheet.Unprotect Password:=12345 Else objTargetWorksheet.Protect Password:=12345, DrawingObjects:=True, Contents:=True, Scenarios:=True End If Next Else MsgBox "Please input the right user name and the right password" End If End Sub Private Sub CommandButton2_Click() ThisWorkbook.Application.Quit End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ThisWorkbook.Application.Quit End Sub
En los códigos, protegeremos otras hojas de trabajo. Y los usuarios solo pueden modificar las hojas de trabajo correspondientes. También puede cambiar las contraseñas según sus necesidades.
- Después de eso, haga doble clic en "ThisWorkbook" en el proyecto de VBA.
- Y luego ingrese los siguientes códigos en él:
Private Sub Workbook_Open() Application.Visible = False: UserForm1.Show End Sub
- Para evitar que los usuarios modifiquen los códigos de VBA, debe establecer una contraseña para los proyectos de VBA. En nuestro artículo anterior Cómo proteger con contraseña los códigos VBA en su hoja de cálculo de Excel, hemos introducido métodos. También puede establecer una contraseña especial.
- Al final, guarde este archivo de Excel.
- La próxima vez que abra el archivo, el formulario de usuario no aparecerá. Debe hacer clic en el botón "Habilitar contenido" en el archivo.
- Y luego verá la ventana "Iniciar sesión". Introduzca un nombre y la contraseña en los dos cuadros de texto.
- Después de eso, haga clic en el botón "Iniciar sesión" en la ventana.
En este momento, John solo puede modificar su hoja de trabajo. No puede cambiar otras hojas de trabajo o los códigos de VBA. Además, a excepción de los tres representantes de ventas, nadie más puede abrir este archivo sin la contraseña. La próxima vez que tenga dicho requisito, también puede establecer una ventana de inicio de sesión de este tipo para el libro de trabajo.
Reconocer el problema en la corrupción de Excel
A veces, Excel se corromperá como consecuencia de numerosos factores. antes de titarPara arreglar sus archivos, necesita identificar el problema junto con las razones del desastre de datos. Además, si no sabe nada acerca de la recuperación de datos, puede reparar Excel corrupto xlsx mediante el uso de una herramienta de terceros. Con el algoritmo de vanguardia, esta herramienta puede manejar almost todos los errores de Excel.
Introducción del autor:
Anna Ma es una experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparar docx corrupto y productos de software de reparación de Outlook. Para más información visite www.datanumen.com



