Como borrar datos en un rango de celdaslos cuando se desactive un checkbox

Quiero hacer una macro que me permita borrar los datos de determinado rango de celdas ejemplo de L15 a la L24 cuando desactive el checkbox que borre los datos, es decir que cada que se desactive si hay datos en esas celdas las tiene que borrar. El caso esta así cuando esta desmarcado el checkbox las celdas están ocultas y cuando marco el checkbox se muestran las filas, por lo que cuando esta activo ingreso datos, pero si por por motovo quiero desmarcarlp que me borre esos datos

1 Respuesta

Respuesta
1

Prueba con lo siguiente

Private Sub CheckBox1_Click()
    ActiveSheet.Unprotect "regional2018"
    If CheckBox1.Value = True Then
        Rows("26:36").EntireRow.Hidden = False
        Rows("53:68").EntireRow.Hidden = False
        Range("Q17:S24").clearcontents
        Range("L24:P24").clearcontents
        Range("Q17:S24").Locked = True
        Range("L24:P24").Locked = True
    Else
        Rows("26:36").EntireRow.Hidden = True
        Rows("53:68").EntireRow.Hidden = True
        Range("Q17:S24").Locked = False
        Range("L24:P24").Locked = False
    End If
    ActiveSheet.Protect "regional2018", DrawingObjects:=True, Contents:=True, Scenarios:=True ' las protege
    Range("L17").select
End Sub

[sal u dos, si es lo que necesitas no olvides valorar la respuesta.

hola ya hice la prueba pero no me borra los datos por que necesito que la macro borre los datos en las celdas P27:P34 y K55:K62 cuando se desactive la checkbox, disculpa tanta fregadera, de antemano muy agradecido con tu apoyo

Entonces pasamos las líneas que borran en la parte del else:

Private Sub CheckBox1_Click()
    ActiveSheet.Unprotect "regional2018"
    If CheckBox1.Value = True Then
        Rows("26:36").EntireRow.Hidden = False
        Rows("53:68").EntireRow.Hidden = False
        Range("Q17:S24").Locked = True
        Range("L24:P24").Locked = True
    Else
        Rows("26:36").EntireRow.Hidden = True
        Rows("53:68").EntireRow.Hidden = True
        Range("P17:P34").clearcontents
        Range("K55:K62").clearcontents
        Range("Q17:S24").Locked = False
        Range("L24:P24").Locked = False
    End If
    ActiveSheet.Protect "regional2018", DrawingObjects:=True, Contents:=True, Scenarios:=True ' las protege
    Range("L17").select
End Sub

Prueba y me comentas

hola me da el siguiente error, te adjunto imagen del error que muestra, espero se pueda corregir

¿Y qué mensaje de error te aparece?

Debes considerar las celdas combinadas que tienes, si la celda combinada empieza desde la columna O entonces debes cambiar

Range("P17:P34"). Clearcontents

Por:

Range("O17:P34"). Clearcontents

También considera la última columna de la celda combinada, si llega hasta S, entonces:

Range("O17:S34"). Clearcontents

Revisa bien desde dónde y hasta dónde va tu celda combinada y ajusta el rango para borrar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas