.13/10/16
Buenas noches, José
Aquí te comparto una rutina acabo de desarrollar que hace precisamente eso:
Accede al Editor de VBA (Atajo: Alt + F11), allí inserta un módulo (Insertar-Módulo) y pega el siguiente código:
Sub ElimLinea()
'---- Variables modificables:
'=== JOSE, modifica estos datos de acuerdo a tu proyecto:
HojaDato = "hoja 1"
Celdato = "C5"
HojaBusq = "hoja 2"
RangoBusq = "A6:O1048576"
txtParcial = True ' si fuera suficiente una coincidencia parcial coloca TRUE, sino FALSE
MayusMin = False ' Si importase cómo está escrito, coloca TRUE
'---- fin Variables
'
'---- inicio de rutina:
'
Buscar = Sheets(HojaDato).Range(Celdato).Value
esta = False
txtParcial = IIf(txtParcial, xlPart, xlWhole)
Sheets(HojaBusq).Select
On Error Resume Next
Encontrado = ActiveSheet.Range(RangoBusq).Find(What:=Buscar, After:=[A6], LookIn:=xlFormulas, _
LookAt:=txtParcial, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=MayusMin, SearchFormat:=False).Address
If Err.Number = 0 And Len(Encontrado) > 0 Then
Range(Encontrado).EntireRow.Delete
esta = True
End If
Err.Clear
On Error GoTo 0
ElMensaje = IIf(esta = False, "NO SE ELIMINO LINEA ALGUNA", "Se eliminó la linea con el contenido " & Buscar)
TipoMens = IIf(esta = False, vbCritical, vbInformation)
ElTitulo = IIf(esta = False, "NO SE HIZO NADA", "LINEA ELIMINADA!")
Application.ScreenUpdating = True
MsgBox ElMensaje, TipoMens, ElTitulo
End Sub
Como verás, al principio del código coloqué las variables que habías indicado. Pero puedes reemplazarlas si las reales fuesen otras o quisieras usarlo en otro rango.
Faltó que dijeras si la coincidencia tiene que ser exacta o puede ser parcial y, además, si importa si está escrito en Mayúsculas o Minúsculas.
Por eso, dejé un par de variables más donde indicarle eso. Así como está, eliminará la fila si encuentra una coincidencia parcial (o total) sin importar cómo estuviera escrito.
.