Eliminar las filas que sean iguales a un valor ingresado

Cuando ingreso un valor en la celda "H3" de la hoja "Ingreso facturas", me aparece un MsgBox que quiero que al darle Aceptar me borre todas las filas que contengan en la columna "B" de la hoja "Facturas" el mismo valor que se ingresó en la celda "H3" de la hoja "Ingreso facturas", tengo esta macro pero solo logro que se seleccione la celda "B2" de la hoja "Facturas". Les agradezco puedan ayudarme.

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("H3")) Is Nothing Then Exit Sub

If Range("H4") <> 0 Then

Resultado = MsgBox("Esta factura ya ha sido ingresada, ¿Desea editarla?", 1, "Editar")

Select Case Resultado
Case vbOK:
Sheets("Facturas").Select
Sheets("Facturas").Range("B2").Select
i = 1
For i = 1 To Selection.End(xlUp).Row
If Cells(i, 2) = Sheets("Ingreso facturas").Range("H3").Value Then
Cells(i, 2).Select
Selection.EntireRow.Delete
End If
Next
Case vbCancel:
Range("K3").Select
Selection.Copy
Range("H3").Select
ActiveSheet.Paste

End Select

End If

End Sub

1 Respuesta

Respuesta
1

Así fue como lo solucioné, gracias a quien hay puesto interés.

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("H3")) Is Nothing Then Exit Sub

If Range("H4") <> 0 Then

Resultado = MsgBox("Esta factura ya ha sido ingresada, ¿Desea editarla?", 1, "Editar")

Select Case Resultado
Case vbOK:
Sheets("Facturas").Select
Sheets("Facturas").Range("B1").Select
For i = 1 To Sheets("Facturas").Range("B" & Rows.Count).End(xlUp).Row
If Sheets("Facturas").Cells(i, "B") = Sheets("Ingreso facturas").Range("H3") Then
Sheets("Facturas").Cells(i, "B").Select
Selection.EntireRow.Delete
i = i - 1
End If
Next
Case vbCancel:
Range("K3").Select
Selection.Copy
Range("H3").Select
ActiveSheet.Paste

End Select

End If

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas