Macro para eliminar filas con valor 0 y error

Tengo una planilla en la que tengo la siguiente MACRO

Sub EliminarFULLReport()

Dim UltimaFila As Long
Dim x As Integer

Let UltimaFila = Cells(Rows.Count, 1).End(xlUp).Row

For x = UltimaFila To 3 Step -1
If Range("c" & x).Value = "0" Then
Range("c" & x).EntireRow.Delete
End If
If Range("d" & x).Value = "0" Then
Range("d" & x).EntireRow.Delete
End If

Next x

End Sub

La misma funciona correctamente, lo que necesito hacer ahora es agregarle que también elimine las FILAS en la que tenga error, en el rango c y de como se ve en la MACRO que mostré.

Quise utilizarla tal cual presento pero me figura un error de depuración, en la línea:

For x = UltimaFila To 3 Step -1

La planilla puede utilizar varias filas por lo que no se cual va ser la ultima

1 Respuesta

Respuesta
1

:)

Hola! CSI. Dos re preguntas:

- ¿Es correcto afirmar que tienes TODAS las celdas de las columnas A, B y C con datos (dentro de una cantidad variable de filas)?

- Los datos de las celdas: ¿Son datos fijos o son fórmulas?...

Saludos, Mario (Cacho) R.

:)

Hola Mario

- Los datos de las Celdas son fórmulas y deben quedar como tal

- ¿Es correcto afirmar que tienes TODAS las celdas de las columnas A, B y C con datos (dentro de una cantidad variable de filas)? NO COMPRENDO A QUE TE REFIERES, perdón mi ignorancia

:)

Intenta con:

Sub EliminarFULLReport()
Dim LR As Range, Rng As Range, C As Range, Caso As Boolean
Set LR = Cells(Rows.Count, "A").End(xlUp)
For Each C In Range(Range("A3"), LR)
  Caso = False
  Select Case True
    Case IsError(C.Range("c1")), IsError(C.Range("d1")): Caso = True
    Case C.Range("c1") = 0, C.Range("d1") = 0: Caso = True
  End Select
  If Caso Then
    If Not Rng Is Nothing Then Set Rng = Application.Union(Rng, C) Else Set Rng = C
  End If
Next
If Not Rng Is Nothing Then Rng.EntireRow.Select
End Sub

Espero te sea de utilidad.

Saludos, Mario (Cacho) R.

:)

Mario la he probado y no me funciona

La MACRO que yo envié me funciona de manera perfecta, sucede que ahora he incorporado filas y algunas tienen error. Por lo que necesitaría modificarla para que también se ejecute cuando hay celdas con error.

En la planilla que estoy trabajando la ultima fila usada es la 41617, pero la planilla puede sufrir modificaciones que aumenten o bajen el numero de filas a usar

.

¡Mirá vos!... ¡A mí me anduvo perfecta!...

Te toca, entonces, explicar con detalle que significa "eso" de: - "... no me funciona."

.

.

Mario, he seguido lo que usted me sugiere, pero al ejecutar la MACRO, no sucede NADA.

No me figura ningún error de depuración, ni error de línea.

Las filas con valor 0 y con error siguen en la planilla.

Gracias por el tiempo dispuesto y sepa disculpar la ignorancia en el tema.

.

Deberías subir tu archivo de prueba a algún servidor público y gratuito para poder verlo, porque la única buena razón por la que pudiera no funcionarte es que los datos no los tengas donde "sugieres" en tu código original que están.

Quedo a la espera...

Saludos, Mario (Cacho) R.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas