Modificar macro eliminar filas según condición

Tengo esta macro que elimina filas si tiene el valor ! En la columna A. La macro es:

Sub eliminar_filas()
Application.ScreenUpdating = False
Application.Calculation = xlManual
ActiveSheet.Range("A11").CurrentRegion.AutoFilter Field:=1, Criteria1:="!"
Range("A11").CurrentRegion.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
Application.Calculation = xlAutomatic
Application.ScreenUpdating = True
End Sub

En principio la macro funciona, pero si encuentra una fila en blanco se para y si lanzo varias veces la macro seguidas (presionando el botón repetidamente) llega al final del documento borrando las filas que debe, pero también las que están en blanco.

Lo que me gustaría es modificar esta macro para:

Que las filas en blanco no paren la macro y no las elimine.
Que la macro actúe solo en un rango determinado, por ejemplo (A10:A150).
Necesitaría así mismo una macro igual, pero que no elimine las celdas con el símbolo !, solo que las esconda.

2 Respuestas

Respuesta
1

Fíjate si esto aporta algo

https://youtu.be/1DBfLVrCTAY

https://youtu.be/M3C5AyDMLOY

https://youtu.be/CCEaj0qIXzE

Visita https://programarexcel.com 

Respuesta
1

Te anexo la macro actualizada para eliminar las filas con !

Sub eliminar_filas()
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
    u = Range("A" & Rows.Count).End(xlUp).Row
    ActiveSheet.Range("A11:A" & u).AutoFilter Field:=1, Criteria1:="!"
    Range("A12:A" & u).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    ActiveSheet.AutoFilterMode = False
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
End Sub

La macro para filtrar filas diferentes a !

Sub Macro2()
    If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilterMode = False
    u = Range("A" & Rows.Count).End(xlUp).Row
    ActiveSheet.Range("A11:A" & u).AutoFilter Field:=1, Criteria1:="<>!"
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas