.
Buenas,
Si dentro del código que te pasé, donde dice
StopWord = "cantos"
colocaras
StopWord = "cantos relacionados"
Debería funcionar igual.
Ahora bien, puede ser que tu aplicativo envíe los datos con espacios al final de la frase.
En tal caso, la rutina continuaría porque no encuentra exactamente esa clave.
La siguiente variante resuelve ese problema:
Sub Elimfila()
'---- Variables modificables:
IniRango = "A17"
StopWord = "cantos relacionados"
'---- fin Variables
'
'---- inicio de rutina:
Do While Trim(Range(IniRango).Offset(1).Value) <> StopWord
Range(IniRango).Offset(1).EntireRow.Delete
cont = cont + 1
Loop
ElMensaje = IIf(cont = 0, "NO SE ELIMINO LINEA ALGUNA", "Cantidad eliminada: " & cont & " fila" & IIf(cont > 1, "s", ""))
ElTitulo = "TERMINADO!"
MsgBox ElMensaje, vbInformation, ElTitulo
End Sub
Esta otra, además, permite que la palabra clave pueda estar sola o acompañada de otras palabras. Es decir que se detendrá cuando encuentre la palabra indicada aunque no esté sola o tenga espacios.
Sub Elimfila()
'---- Variables modificables:
IniRango = "A17"
StopWord = "cantos"
'---- fin Variables
'
'---- inicio de rutina:
Do While instr(1,Trim(Range(IniRango).Offset(1).Value), StopWord) = 0
Range(IniRango).Offset(1).EntireRow.Delete
cont = cont + 1
Loop
ElMensaje = IIf(cont = 0, "NO SE ELIMINO LINEA ALGUNA", "Cantidad eliminada: " & cont & " fila" & IIf(cont > 1, "s", ""))
ElTitulo = "TERMINADO!"
MsgBox ElMensaje, vbInformation, ElTitulo
End Sub
Prueba cualquiera de ellas y coméntame si funcionó como esperabas
Un abrazo
Fernando
.