Borrar celdas que no inicien con una letra seguida de un número

¿Cómo puedo eliminar las celdas que no contengan una letra seguida de un número de una lista en excel?

2 Respuestas

Respuesta
3

¿Puedes dar un ejemplo o mejor aun subir una imagen?, letra seguida inicial más la segunda I5llima, a2rima o puede ser donde caiga el numero por ejemplo kjl6yj, ¿alf3trd?

La tabla siempre es igual, en cuanto el acomodo de columnas, de la columna "B", debo de borrar todos los datos que no comiencen con Letra seguida del número;  solo se debe borrar el contenido que no cumpla con la condición de la columna "B". No usamos el buscar y remplazar ya que a veces varia la letra y el número. Por ejemplo en la table esta vez son solo materiales con la letra "A9", esos no se borran.

Este es el resultado de la macro, eliminara cualquier letra que no tenga un numero despues

aqui esta la macro la instruccion like "[A-Z]#*", se encarga de comparar las dos primeras posiciones del codigo si es alfanumerico lo deja de lo contrario se borra y para hacer mas eficiente la macro el borrado ocurre al final en un solo paso.

Sub borrar_noalfanumericos()
r = Range("b" & Rows.Count).End(xlUp).Row
Set datos = Range("a1").Resize(r, 4)
With datos
x = 1
    For i = 2 To r
        celda = UCase(.Cells(i, 2))
        n = celda Like "[A-Z]#*"
        If n Then .Cells(i, 5) = x: x = x + 1
    Next i
    Set datos = Range("a1").Resize(r, 5)
    .Sort key1:=Range(.Columns(5).Address), order1:=xlAscending, Header:=True
    .Rows(x + 1).Resize(r - x).ClearContents
    .Columns(5).ClearContents
    End With
    Set datos = Nothing
End Sub

Sorry no se porque no se subió la imagen va de nuevo

Respuesta
3

Te anexo la macro

Sub Borrar_Celdas()
    For Each valor In Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row)
        If Not (UCase(Left(valor, 1)) Like "[A-Z]" And Mid(valor, 2, 1) Like "[0-9]") Then valor.Value = ""
    Next
End Sub

[sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas