Hola amigo.
Yo un día encontré esto, espero te ayude.
Sub Eliminar_filas_vacias()
'ocultamos el procedimiento
Application.ScreenUpdating = False
'suprondremos que vamos a inspeccionar 1500 filas,
'en busca de todas las que haya en blanco
For i = 1 To 1500
'si la celda est? vac?a...
If ActiveCell = "" Or IsNull(ActiveCell) Then
'nos quedamos con la celda donde estamos
'para volver a ella posteriormente
celda = ActiveCell.Address
'vamos hasta la primera celda a la
'derecha que encontremos, con datos
Selection.End(xlToRight).Select
'si est? vac?a esa celda
If ActiveCell = "" Or IsNull(ActiveCell) Then
'miramos si a la izquierda hay datos
Selection.End(xlToLeft).Select
'si tambi?n est? vac?a esa celda
If ActiveCell = "" Or IsNull(ActiveCell) Then
'eliminamos la fila
Selection.EntireRow.Delete
'volvemos a la celda donde est?bamos
'siempre y cuando no estemos en la fila 1
If ActiveCell.Row <> 1 Then Range(celda).Offset(-1, 0).Select
End If
End If
End If
'pasamos a la siguiente fila
ActiveCell.Offset(1, 0).Select
Next
'mostramos el procedimiento
Application.ScreenUpdating = True
End Sub