¿Error 400 en visual basic de excel? ¿Cómo lo corrijo?

Tengo esta macro para eliminar filas vacias:

Sub EliminarFilasVacias()
Dim Cadena As String, Fila As Long
With Worksheets("Hoja2") 'Nombre de la hoja
For Fila = 1 To .UsedRange.Rows.Count
If WorksheetFunction.CountA(.Rows(Fila)) = 0 Then
Cadena = Cadena & Fila & ":" & Fila & ","
End If
Next Fila
If Cadena <> "" Then
Application.ScreenUpdating = False
.Range(Left(Cadena, Len(Cadena) - 1)).Delete
Application.ScreenUpdating = True
End If
End With
End Sub

Me funciono en la hoja original, entonces decide agegarle mas filas pero ahora me aparece error 400. Y no se que es?

2 respuestas

Respuesta
1

Te recomiendo esta macro. Resulta mas sencilla:

Sub filas_vacias()
tope = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
For f = tope To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(f)) = 0 Then Rows(f).EntireRow.Delete
Next
End Sub

RECUERDA FINALIZAR Y PUNTUAR

Muchas gracias...si me funciono, solo que dura mucho.

Como le agrego rango de filas para que dure menos y además, como seria para que ademas elimine filas que sumen cero ya que tengo formulas en algunas celdas.

Es decir, solo quiero filas que contengan texto y datos calculados mayor a cero.

Muchas gracias. Además de la rapidez en contestar.!

Bajo mi punto de vista, lo que pides tardaría todavía más, ya que necesitaríamos un bucle for each para examinar todas las celdas de cada fila para ver si tienen fórmula con resultado cero.

Respuesta

Lo solucioné creando y colocando el código de la macro en un modulo VBA, y desde allí ya no me dio el error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas