Macro para eliminar filas en Excel.

Para Dante Amor:

Como te decía en la anterior pregunta, necesito una macro para estas condiciones, en la columna A solamente puede haber la palabra "Actual" o "New Forecast".

Me gustaría una macro que eliminara las filas en las que figure en la columna A la palabra "Actual" y además que elimine las que tengan en la columna A la palabra "New Forecast" y tengan la columna B en blanco.

1 Respuesta

Respuesta
1

H o l a:

¿En pocas palabras que elimine todas las filas que tengan algo diferente a "Actual"?

Si es así, aquí está la macro:

Sub BorrarFilas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
        If Cells(i, "A") <> "Actual" Then Rows(i).Delete
    Next
End Sub

Si tienes encabezados en la hoja, por ejemplo si el encabezado está en la fila 2, entonces cambia en esta línea el número 1 por el 2:

 For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1


' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Hola Dante, perdona pero creo que me he explicado mal.

en la columna A pueden contener la palabra "New Forecast"  o "Actual", yo quiero que se eliminen las filas en las que la palabra sea "Actual".

Una vez haga esto, quiero que en una segunda pasada me elimine las filas en las que en la columna A la palabra sea "New Forecast" y que además la columna B sea 0.

Espero haberme explicado mejor.

gracias por tu ayuda.

Disculpa, creo que ahora entendí menos.

Puedes explicarlo con ejemplos, utiliza imágenes.

¿Tiene qué ser en una segunda pasada o se puede en una sola pasada eliminar todo lo que quieras eliminar?

Qué pasa si en la columna A tienes otra palabra diferente, por ejemplo: "hola", ¿qué hago? ¿Elimino la fila o la dejo?

Hola Dante, el la cOlumna A solo puede haber esas dos palabras, si es en una pasada mejor, no sabía que se podría hacer, en una pasada yo quiero eliminar todos los que ponga "Actual" y todos los que ponga "New forecast" y tenga.n 0 en la columna B.

gracias

Te anexo la macro actualizada

Sub BorrarFilas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
        If Cells(i, "A") = "Actual" Or (Cells(i, "A") = "New forecast" And Cells(i, "B") = 0) Then
            Rows(i).Delete
        End If
    Next
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas