Limpiar contenido de un rango de celdas si una celda cambia

Para Dante Amor.

Buenas mi idea es que si cambia la celda I4 me elimine varios rangos de celdas de todas las hojas que cumpla una condición:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim Hojas As Worksheet
Dim celda As String
    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
    End With
    If Target.Address = "$I$4" Then
        For Each Hojas In ActiveWorkbook.Worksheets
            With Hojas
                .Select
                celda = .Range("ZZ100").Value
                If celda <> "" Then
                    .Range("G81:U111").ClearContents
                    .Range("Z81:AK111").ClearContents
                End If
            End With
        Next Hojas
    End If
    Sheets("INDICE").Select
    With Application
        .ScreenUpdating = True
        .DisplayAlerts = True
    End With
End Sub

1 respuesta

Respuesta
1

Entiendo lo siguiente, si modificas la celda I4, empieza a seleccionar cada una de las hojas que tienes, si en esa hoja, en la celda ZZ100 es diferente de blanco, entonces limpia el rango.

Revisa que en las hojas en la celda ZZ100 tengas un dato.

Ahora, si ya tienen un dato, ¿qué problema tienes? ¿Te arroja algún mensaje de error? ¿Qué error te aparece?, ¿Si le das depurar en cuál línea se detiene la macro?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas