Macro para borrar las filas vacías de tablas

Tengo varias tablas en una misma hoja con las celdas vacías en las que pego valores y lo hago a través de una macro. Lo que necesito es, una macro que una vez se hayan pegado los valores en las filas de las tablas, borre las filas en las que no se ha pegado nada, es decir, que quedan vacías.

1 Respuesta

Respuesta
1

. 06.04.17 #VBA eliminar filas vacías

Buenas tardes, Ana

Dependerá mucho de la estructura de tu base, pero la siguiente rutina intenta determinar cuál es el rango a depurar y elimina las lineas que no tengan dato a lo ancho de la base.

Accede al Editor de VBA (Atajo: Alt + F11), allí inserta un módulo (Insertar-Módulo) y pega el siguiente código:

Sub ElimVacias()
' ANA, reemplaza el contenido de estas dos variables por los correspondientes a tu archivo:
HojaDest = "base" 'Hoja donde está la base a depurar
CeldaIni = "A2" ' celda donde empieza la base a depurar
'---- fin Variables
'
' VBA coding by FeJoAl
'
'---- inicio de rutina:
'  
UltCelda = Sheets(HojaDest).Range(CeldaIni).SpecialCells(xlLastCell).Address
ElRango = Range(Range(CeldaIni), UltCelda).Address
For LaFila = Range(ElRango).Rows.Count - 1 To 0 Step -1
    ChkCount = Range(Range(CeldaIni). Offset(LaFila), Range(CeldaIni). Offset(LaFila, Range(ElRango). Columns. Count)). Address
    ChkCount = Application.WorksheetFunction.CountA(Range(ChkCount))
    If ChkCount = 0 Then Range(CeldaIni).Offset(LaFila).EntireRow.Delete
Next
Range(CeldaIni).Select
End Sub

Notarás al principio del código unas variables que podrás modificar en caso de que necesitaras cambiarlas.

Dado que se trata de una rutina de eliminación, te recomiendo que la pruebes en una copia de tu hoja.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas