Borrar contenido en celda en excel

Tengo una hoja en la que en la mayoría de sus celdas esta la letra "X" puede un código borrar todo su contenido si esta esa letra en su celda y el rango de mis datos es "f1:gt217"

1 Respuesta

Respuesta
1

[Hola 

Prueba con esto


Valora la respuesta para finalizar



Sub limpiar()
    '//Todoexpertos
    '[Por Adriel
    For Each r In Range("F1:GT217")
        If r = "x" Then
            r.ClearContents
        End If
    Next r
End Sub

No sucede nada experto adriel con su código pero este código realiza el procedimiento que quiero en mi libro solo que lo tengo repetido cambiando valores de 10 a 0 y de pronto la solución más viable es el código de cambiar valores de 10 a 0 ya que al ejecutar ambos códigos en la misma hoja este segundo se demora el proceso y como tengo el rango sombreado cambia de color en azul o rojo

Sub Macro7()
With ActiveSheet.Range("fu1:gt217")
Set c = .Find("X", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = Delete
Set c = .FindNext(c)
On Error Resume Next
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With

End Sub

Prueba nuevamente con esto

Sub limpiar()
    '//Todoexpertos
    '[Por Adriel
    For Each r In Range("F1:GT217")
    valor = "x" 'Letra a borrar
        If LCase(r) = LCase(valor) Then
            r.ClearContents
        End If
    Next r
End Sub

me borra solamente las x pero yo necesito es que se borre la totalidad de la celda si esta letra esta en ellas

¿Uuufff ya me perdí puedes dar un ejemplo?

O te refieres a eliminar la fila si existe la letra x

Sub limpiar()
    '//Todoexpertos
    '[Por Adriel
    For Each r In Range("F1:GT217")
    valor = "x" 'Letra a borrar
        If LCase(r) = LCase(valor) Then
            'r.ClearContents
            r.EntireRow.Delete
        End If
    Next r
End Sub

O borrar toda la fila

Sub limpiar()
    '//Todoexpertos
    '[Por Adriel
    For Each r In Range("F1:GT217")
    valor = "x" 'Letra a borrar
        If LCase(r) = LCase(valor) Then
            'r.ClearContents
            Rows(r.Row).ClearContents
        End If
    Next r
End Sub

que se borre toda las celdas que contengan la letra "x" en su contenido

¿Puedes mostrar una captura de tu hoja?

esta es donde esta la letra X

y de acuerdo al codigo debe quedar de esta forma

Buscaré otra alternativa

Gracias adriel aquí esta la solución

Sub BorrarCeldasConX()
For Each celda In ActiveSheet.Range("FU1:GT217")
   If InStr(UCase(celda.Value), "X") > 0 Then celda.Value = ""
Next
End Sub

[Que bueno que ya encontraste la solución saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas