Ocultar columnas de acuerdo a usuario en excel

Quisiera me ayudaran con el siguiente problema

Tengo un archivo en excel llamado "base de Datos" que se encuentra "protegido" y "compartido" para varios usuarios en la red ..

He visto que mediante una macro puedo hacer que haga una especie de login con usuario y clave que están en un rango de celdas.

Quisiera me ayudaran con el código para que si es el usuario "1" por decirlo... Me oculte ciertas columnas... Y si es el "2" otras.. Y que si es por ej el "0" me las muestre todas.. Pero teniendo encuenta que el archivo debe quedar protegido y compartido pues varias personas lo pueden abrir, editar y guardar.

Nota: existe forma que al grabar el archivo quede con extensión .xlsx y no .xlsm o solo funciona con versiones anteriores .xls

Gracias

Envío parte del código que utilizo para hacer el logueo..

Private Sub CommandButton1_Click()
Dim usuario As String
Dim password As Variant
Dim DatoEncontrado
Blog = "LDVTU"
UsuarioExistente = Application.WorksheetFunction.CountIf(Range("XFC5:XFD7"), Me.txtUsuario.Value)
Set Rango = Range("XFC5:XFD7")
If Me.txtUsuario.Value = "" Or Me.txtPassword.Value = "" Then
MsgBox "Por favor introduce usuario y contraseña", vbExclamation, Blog
Me.txtUsuario.SetFocus
ElseIf UsuarioExistente = 0 Then
MsgBox "El usuario '" & Me.txtUsuario & "' no existe", vbExclamation, Blog
ElseIf UsuarioExistente = 1 Then
DatoEncontrado = Rango.Find(What:=Me.txtUsuario.Value, MatchCase:=True).Address
Contrasenia = Range(DatoEncontrado).Offset(0, 1).Value
If Range(DatoEncontrado).Value = Me.txtUsuario.Value And Contrasenia = Me.txtPassword.Value Then
Range("G2").Value = "Usuario: " & Range(DatoEncontrado).Offset(0, -1).Value
'Aquí va el código para dar acceso a todo lo que el programador decida
If Me.txtPassword.Value = "1" Then
ElseIf clave = "2" Then
ElseIf clave = "0" Then
End If
Unload UserForm1
End

Unload Me
Else
MsgBox "La contraseña es inválida", vbExclamation, Blog
End If
End If
End Sub

Cualquier aporte al código o cambio para mejorarlo lo agradecería.

Añade tu respuesta

Haz clic para o