Al cambiar una celda, me limpie dos rangos de cada hoja

Tengo el código de abajo pero no se aplica correctamente, alguien me puede ayudar, muchas gracias. Al cambiar una celda quiero que limpie el rango de cada hoja con 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

2 Respuestas

Respuesta
1

H o l a 

¿Cuál es el rango al borrar?

¡Gracias! 

Este es el rango:

.Range("G81:U111"). ClearContents
.Range("Z81:AK111"). ClearContents

el problema es que en ese rango hay celdas combinadas

Pero el rango G81:U111 es todo combinado o solo algunas

es combinado por filas, g81 a u81 pero quiero eliminar ese rango completo

Ya me confundí, ¿es para limpiar o eliminar las filas?

¿Te sale algún error?

si el error no se puede cambiar parte de una celda combinada, error 1004

Es curioso lo que pasa, probé y me funciona

Envíame tu archivo [email protected] para revisarlo

.Range("G81:U111")=""
.Range("Z81:AK111")=""

prueba así también

Respuesta
1

Dos rangos:

Range("G81:U111"). ClearContents
. Range("Z81:AK111"). ClearContents

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas