jueves, 23 de enero de 2014

Macro en Excel para trabajar en una hoja protegida | Activesheet.Unprotect



Método Worksheet.Unprotect (Excel): para mantener los datos de tu hoja de cálculo protegidos e impedir que accidentalmente se realicen cambios en las mismas

Comparto con Uds. una consulta que me realizaron por correo, y es la siguiente: "... Agustín, una pregunta, disculpa que te moleste, - Tema de excel -  bloquear hoja con VB, necesito darle permiso "Que me permita, ocultar y mostrar filas" ..."

La respuesta es, si es posible, lo primero que hay que hacer, ya que la hoja esta protegida con contraseña, es des proteger primero, luego ocultar o mostrar filas según sea el caso, seguida mente proteger de nuevo la hoja, que es lo que haríamos utilizando las opciones de excel, por lo que realizaremos los mismos pasos pero con VBA.

Código para poder ocultar las filas seleccionadas

Sub OcultarF()
Application.ScreenUpdating = False
Dim Celda As Range
'Desprotegemos la hoja
ActiveSheet.Unprotect Password:="#FreelancerExcel"
'Ocultamos el rango seleccionado
    For Each Celda In Selection
        Selection.EntireRow.Hidden = True
    Next
'Protegemos la hoja
ActiveSheet.Protect Password:="#FreelancerExcel"
Application.ScreenUpdating = True
End Sub

Código para poder mostrar las filas
Sub MostrarF()
Application.ScreenUpdating = False
Dim Celda As Range
'Desprotegemos la hoja
ActiveSheet.Unprotect Password:="#FreelancerExcel"
'Visualizamos el rango seleccionado
    For Each Celda In Selection
        Selection.EntireRow.Hidden = False
    Next
'Protegemos la hoja
ActiveSheet.Protect Password:="#FreelancerExcel"
Application.ScreenUpdating = True
End Sub

Y como complemento configurar cada instrucción con una combinación de teclas(ctrl+o por ejemplo) para facilitar el uso de cada instrucción al usuario.

No hay comentarios :

Publicar un comentario