Macro eliminar filas que no comienzan con número
Hola experto
He estado todo el día tratando de generar una macro que me permita limpiar una tabla que me llega desde otra parte de la empresa. Esta tabla me llega con un encabezado, que siempre tiene el mismo largo, y con una serie de registros, que varían mensualmente según la cantidad de sucesos ocurridos.
Cada registro utiliza 2 filas, pero sólo la 1a es relevante para mi. La primera fila de cada registro comienza con un número, mientras que la segunda tiene la celda vacía.
El problema está en que cada cierto (la cantidad de registros entre cada una varía) tiempo hay una celda resumen, que es una celda combianda de todo el ancho de la tabla y que contiene texto. No he sido capaz de eliminar todas estas filas de resumen.
Tampoco he logrado eliminar las últimas 3 filas, ya que para parar el loop hago que, al identificar una de las últimas filas (que es siempre la misma), elimine esa y las 3 siguientes, pero sólo le elimina 2 (saltadas).
Este es el código en el que he estado trabajando:
Sub eliminarfilas()
'
' eliminarfilas Macro
'
' Acceso directo: CTRL+e
'
Range("1:8").Select
Selection.Delete Shift:=xlUp
For fila = 1 To 65536
If Cells(fila, 1).Value = "" Or Cells(fila, 1).Value = "Total equipo: [1] CAJA MANUAL" Or Cells(fila, 1).Value = "Equipo: [2] AUTOPAGO (1)" Or Cells(fila, 1).Value = "Total equipo: [2] AUTOPAGO (1)" Or Cells(fila, 1).Value = "Equipo: [3] AUTOPAGO (2)" Or Cells(fila, 1).Value = "Total equipo: [3] AUTOPAGO (2)" ThenRows(fila).Delete
If Cells(fila, 1).Value = "Area total: [1] PARKING" Then
Rows(fila).Delete
Rows(fila + 1).Delete
Rows(fila + 2).Delete
Rows(fila + 3).Delete
fila = 65535
End If
End If
Next fila
End Sub
Básicamente, lo que necesito es una macro que elimine las filas que no tienen en su primera celda un número (es decir, que tienen nada o un texto combinado con otras celdas).
Gracias!
He estado todo el día tratando de generar una macro que me permita limpiar una tabla que me llega desde otra parte de la empresa. Esta tabla me llega con un encabezado, que siempre tiene el mismo largo, y con una serie de registros, que varían mensualmente según la cantidad de sucesos ocurridos.
Cada registro utiliza 2 filas, pero sólo la 1a es relevante para mi. La primera fila de cada registro comienza con un número, mientras que la segunda tiene la celda vacía.
El problema está en que cada cierto (la cantidad de registros entre cada una varía) tiempo hay una celda resumen, que es una celda combianda de todo el ancho de la tabla y que contiene texto. No he sido capaz de eliminar todas estas filas de resumen.
Tampoco he logrado eliminar las últimas 3 filas, ya que para parar el loop hago que, al identificar una de las últimas filas (que es siempre la misma), elimine esa y las 3 siguientes, pero sólo le elimina 2 (saltadas).
Este es el código en el que he estado trabajando:
Sub eliminarfilas()
'
' eliminarfilas Macro
'
' Acceso directo: CTRL+e
'
Range("1:8").Select
Selection.Delete Shift:=xlUp
For fila = 1 To 65536
If Cells(fila, 1).Value = "" Or Cells(fila, 1).Value = "Total equipo: [1] CAJA MANUAL" Or Cells(fila, 1).Value = "Equipo: [2] AUTOPAGO (1)" Or Cells(fila, 1).Value = "Total equipo: [2] AUTOPAGO (1)" Or Cells(fila, 1).Value = "Equipo: [3] AUTOPAGO (2)" Or Cells(fila, 1).Value = "Total equipo: [3] AUTOPAGO (2)" ThenRows(fila).Delete
If Cells(fila, 1).Value = "Area total: [1] PARKING" Then
Rows(fila).Delete
Rows(fila + 1).Delete
Rows(fila + 2).Delete
Rows(fila + 3).Delete
fila = 65535
End If
End If
Next fila
End Sub
Básicamente, lo que necesito es una macro que elimine las filas que no tienen en su primera celda un número (es decir, que tienen nada o un texto combinado con otras celdas).
Gracias!
1 respuesta
Respuesta de Elsa Matilde