¿Cómo hago una macro que seleccione datos en cero y borre la fila entera?

hola!

no soy experta en esto de las macros, pero en realidad necesito ayuda..

tengo una base de datos en el Book 2, necesito hacer una macro que busque las celdas que tengan los valores 0.00 de la columna C y borre la fila entera..

después de los datos que quedaron, borre las filas que contengan 0.00 de la columna F y de igual forma, de esos datos que quedaron, borre los que estén en 0.00 pero ahora de la columna G.

no se si me explique bien??

me podrían ayudar??

AM

1 respuesta

Respuesta
1

Esta macro hace lo que necesitas, solo debes estar posesionado en la hoja en la que tienes los datos y luego correr la macro

Sub ELIMINA()
Dim Comprobar, Contador
Comprobar = True: Contador = 0 ' Inicializa variables.
Do ' Bucle externo.
Do While Contador < 65000 ' Bucle interno.
Contador = Contador + 1 ' Incrementa el contador.
If Range("C" & Contador).Value <> "" Then ' Si la condición es verdadera.
If Range("C" & Contador).Value = 0 Then
Range("C" & Contador).Select
fila = ActiveCell.Row
Rows(fila).Delete Shift:=xlUp
Contador = Contador - 1
End If
Else
Comprobar = False ' Establece el valor a False.
Exit Do ' Sale del bucle interno.
End If
Loop
Loop Until Comprobar = False ' Sale inmediatamente
Comprobar = True: Contador = 0 ' Inicializa variables.
Do ' Bucle externo.
Do While Contador < 65000 ' Bucle interno.
Contador = Contador + 1 ' Incrementa el contador.
If Range("F" & Contador).Value <> "" Then ' Si la condición es verdadera.
If Range("F" & Contador).Value = 0 Then
Range("C" & Contador).Select
fila = ActiveCell.Row
Rows(fila).Delete Shift:=xlUp
Contador = Contador - 1
End If
Else
Comprobar = False ' Establece el valor a False.
Exit Do ' Sale del bucle interno.
End If
Loop
Loop Until Comprobar = False ' Sale inmediatamente
Comprobar = True: Contador = 0 ' Inicializa variables.
Do ' Bucle externo.
Do While Contador < 65000 ' Bucle interno.
Contador = Contador + 1 ' Incrementa el contador.
If Range("G" & Contador).Value <> "" Then ' Si la condición es verdadera.
If Range("G" & Contador).Value = 0 Then
Range("C" & Contador).Select
fila = ActiveCell.Row
Rows(fila).Delete Shift:=xlUp
Contador = Contador - 1

Muchísimas gracias!!!!! :D

funciona a la perfección!! era justo lo que necesitaba, en verdad me ha ayudado demasiado, tenía días intentándolo

gracias otra vez

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas