Problemas para ejecutar macro

Hola tengo una consulta:
Esta macro cuando la ejecuto me bloquea el programa Excel. BD es una base de datos con 15 registros y 17 columnas. Lo que quiero es que cuando coincidan 3 argumentos que se encuentran en las columnas 1, 10 y 14 con los valores 1,2 y 2 respectivamente, se elimine la fila entera. ¿Sera qué esta mal algún código?
Sub EliminarRegistro()
valor1 = "4"
valor2 = "098-05-04"
valor3 = "Baja"
Sheets("BD").Select
Range("A1").Select
ActiveCell.Offset(1, 0).Range("A1").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor1 And ActiveCell.Offset(0, 9).Value = valor2 _
And ActiveCell.Offset(0, 13).Value = valor3 Then
Selection.EntireRow.Delete
End If
Wend
End Sub
Gracias

1 Respuesta

Respuesta
1
¿Lo qué deseas es que la macro revise todas las filas y evalúe en cada la coincidencia con las constantes que tienes y cuando llegue a una fila que esté vacía entonces termine?
Si es así, definitivamente tu macro no lo haría, porque estás seleccionando una celda fija ("A1"), por lo tanto tu procedimiento While nunca será falso, a menos que A1 se haga diferente de "".
Entonces, lo que te recomiendo es lo siguiente, crea una variable para el número de fila, de tal forma que mediante un ciclo For o While, puedas ir incrementando el número de la fila e ir revisando cada vez que se entre al ciclo, si la coincidencia se da o no y en caso que sí, se borre la fila.
Espero que me entiendas, sino, no dudes en preguntar nuevamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas