Encontrar un celda y eliminar la fila

Hola, necesito una macro que haga lo siguiente:
Que busque en la columna A un celda con un criterio determinado, y cuando la encuentre elimine la fila.
De antemano Muchas gracias por la ayuda

1 respuesta

Respuesta
1
Recibe mis cordiales saludos, el siguiente linea de código es lo que estas necesitando, primero tienes que recorrer todos las filas de una determinada columna, y luego buscar el criterio que estas necesitando y eliminas, dime que criterio estas necesitando para poder hacerte la macros.
En un celda de la hoja1 escribo por ejemplo a-26 entonces que valla a la hoja2 en la columna A y que la encuentre y borre la fila en la cual esta . y si no la encuentra que me de un mensaje " NO EXISTE "
Gracias, por la ayuda
Con respecto a tu pregunta, esta es la macro que estas necesitando.
Sub DeleteRows()
Dim Maxi, min As Double
Dim j As Double
On Error GoTo Error
Sheets("Hoja1").Activate
min = ActiveSheet.Range("A65536").End(xlUp).row
For j = 0 To min
If j < min Then
i = j + 1
Cells(i, 1).Select
Valor=Cells(i, 1)
If Valor = "a-26" Then
celda = ActiveCell.Address
Selection.EntireRow.Delete
min = ActiveSheet.Range("A65536").End(xlUp).row
If ActiveCell.row <> 1 Then Range(celda).Offset(-1, 0).Select
j = j - 1
Else
ActiveCell.Offset(1, 0).Select
End If
End If
Next
Cells(i, 1).Activate
Error:
MsgBox ("No existe el registro a eliminar"), vbCritical, "Error"
End Sub
El código lo puedes asociar a un objeto de tipo botón, o en todo caso puedes probarlo con el evento open de la hoja, o en todo caso desde un modulo y presionas f5. Saludos, si tienes alguna duda, solo me consultas. Éxitos
Solo falta un detalle, es que el contenido de la celda L10 en la hoja 1 es que hay que buscar en la columna A de la hoja2 y eliminar la fila de la hoja 2 y volver a la celda L10 de la hoja1 cuando termine la macro.
Una cosa el mensaje lo tira igual si la encuentra.
Muchas gracias por la ayuda prestada, atento tus comentario
El código que necesitas es el siguiente: Te explico en la celda L10 ingresa la letra a, y en la hoja2 en la columna, ingresa varios valores en cada fila hasta la fila que tu desees, inserta un botón el la hoja y copia este código
Private Sub CommandButton1_Click()
Dim min As Double
Dim j As Double
Dim valorA, valorB As String
Sheets("Hoja1").Activate
valorA = Range("L10")
Sheets("Hoja2").Activate
min = ActiveSheet.Range("A65536").End(xlUp).Row
For j = 0 To min
If j < min Then
i = j + 1
Cells(i, 1).Select
valorB = Cells(i, 1)
If valorA = valorB Then
celda = ActiveCell.Address
Selection.EntireRow.Delete
min = ActiveSheet.Range("A65536").End(xlUp).Row
If ActiveCell.Row <> 1 Then Range(celda).Offset(-1, 0).Select
j = j - 1
Else
ActiveCell.Offset(1, 0).Select
End If
End If
Next
Cells(i, 1).Activate
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas