Jump to content

Macro para habilitar tabla para agregar filas automaticamente en hoja protegida


Go to solution Solved by JSDJSD,

Recommended Posts

Posted (edited)

Hola amigos de Ayuda Excel.

Buenos dias, tengo una tabla y deseo proteger la hoja, He investigado pero las tabla no funcionan en hojas protegidas, sin embargo, he encontrado varios articulos que las tablas pueden funcionar con hojas protegidas a través de macros. Incluso conseguí un código pero particularmente no me funciona. 

Me podrán ayudar a ver por qué no funciona

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Row = 1 Then Exit Sub
If Target.Column > 8 Then Exit Sub
On Error Resume Next
With ActiveSheet
ActiveSheet.Unprotect Password:="123"
.ListObjects("Tabla11").Resize Target.CurrentRegion
ActiveSheet.Protect ("123")
End With
On Error GoTo 0

End Sub

prueba TABLA PROTEGIDA.xlsm

Edited by Leonardo Briceño
falto información en titulo
  • Leonardo Briceño changed the title to Macro para habilitar tabla para agregar filas automaticamente en hoja protegida
Posted

Prueba y comentaimage.thumb.gif.96e84fb4e2ddd013bac18243b00d9656.gif

Private Sub Worksheet_Change(ByVal Target As Range)
    ' Salir si se seleccionan varias celdas a la vez
    If Target.Count > 1 Then Exit Sub

    ' Salir si el cambio está en la fila 1
    If Target.Row = 1 Then Exit Sub

    ' Salir si el cambio está en una columna mayor a la columna 8
    If Target.Column > 8 Then Exit Sub

    ' Intentar redimensionar la tabla dentro de la protección de hoja
    On Error GoTo ErrorHandler
    Me.Unprotect Password:="123"

    ' Redimensiona la tabla a la región actual del Target
    Me.ListObjects("Tabla1").Resize Target.CurrentRegion

    ' Proteger de nuevo con configuraciones específicas para permitir edición en la tabla
    Me.Protect Password:="123", _
               AllowSorting:=True, _
               AllowFiltering:=True, _
               AllowUsingPivotTables:=True, _
               AllowInsertingRows:=True, _
               AllowDeletingRows:=True

    ' Restaurar control de errores
    On Error GoTo 0
    Exit Sub

ErrorHandler:
    MsgBox "Ocurrió un error al redimensionar la tabla. Verifica el nombre de la tabla y que los rangos estén correctos.", vbExclamation
End Sub

 

Posted

Super @JSDJSD funciona a la perfección!!!!!

Muchas gracias.  Con esta opción de tablas que había leído antes pero nunca había puesto en práctica es muy eficiente. 

Mi archivo original tiene 10.000 filas con formula y son 15 hojas. El archivo se pone pesado y lento. Con esta opción sera mas rapido y menos pesado el archivo.

Nuevamente gracias.😃

Posted

Disculpa    @JSDJSD , si ya tengo el evento  Private Sub Worksheet_Change(ByVal Target As Range) activo con otra macro, como agrego la solución que me diste?

Intente con la instrucción Else pero no logro hacerlo con éxito.

Gracias

                  

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Privacy Policy