Macro para eliminar filas que no contengan un término dado

Resuelto
ClemG -  
 ClemG -
¡Hola a todos!

Siendo principiante en macros, me surge un pequeño problema: tengo una lista de productos de diferentes sabores en Excel (por ejemplo: cranberry, cranberry & frambuesa; naranja; manzana).
Si las celdas de la columna D (donde se encuentran estos productos) no contienen los términos "cranberry" o "pomegranate", quiero eliminar las filas correspondientes.

En otras palabras, no deseo conservar en mi hoja de Excel solo los productos que contengan cranberry o pomegranate.

De momento he probado con esta macro:

Sub super_fruits()
'
For Each cell In Range("D4:D450")
If Not cell.Value Like "Cranberry" Or cell.Value Like "Pomegranate" Then Rows(cell.Row).Delete
Next
Dim I As Integer
For I = 450 To 4 Step -1
If Not Cells(I, 4) Like "Cranberry" Then
Rows(I).Delete
End If
Next

End Sub

Et là je rencontre 2 problèmes : d'une part, ma macro ne garde que les lignes contenant exclusivement "Cranberry" (en ne tenant pas compte de "Pomegranate"). D'autre part, je ne veux pas garder que les lignes contenant "cranberry" mais aussi celles comme "cranberry & framboise", par exemple, dans lesquelles cranberry est inclus.

J'espère que vous pourrez m'aider !!!! merci d'avance pour tous vos conseils
Clem

2 respuestas

  1. pilas31 Mensajes publicados 1878 Estado Colaborador 648
     
    Hola,

    Para probar:

    Sub super_fruits() Dim I As Integer For I = 450 To 4 Step -1 If Not (Cells(I, 4).Value Like ""*Cranberry*"" Or Cells(I, 4).Value Like ""*Pomegranate*"") Then Rows(I).Delete End If Next End Sub


    A+
    Atentamente,
    1
  2. ClemG
     
    funciona... ¡muchas gracias! !!!!!!!!!

    ¡Hasta pronto!
    0