Control Errores Excel

Hola!
Estoy haciendo una macro que abre 17 ficheros, filtra en una columna el mensaje Inconsistencia y selecciona las celdas que han dado resultado positivo. Las copia y las pega al libro donde se ejecuto la macro. El asunto es que a veces ciertos libros no poseen ningún registro (filas) con ese mensaje de error. Me sale un error 1004. Necesito una solución, porque por más que lo he intentado con On Error GoTo e incluso con la solución que veréis abajo, no lo consigo.
For libro = 1 To 9
Application.CutCopyMode = True
Select Case libro
Case Is < 5
x = 10
Case Is > 4 < 9
x = 14
End Select
Workbooks.Open (ActiveWorkbook.Path + "\" + Ficheros(libro))
ActiveWorkbook.Sheets(5).Select
criterio = "Inconsistencia Clar*"
Selection.AutoFilter x, criterio
Rows(1).Hidden = True
filas = Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Count
If filas = 0 Then
If mensajeFinal = "" Then
mensajeFinal = "No se encontraron inconsistencias para los libros:"
End If
mensajeFinal = mensajeFinal + "\n Ficheros(libro)"
Else
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Workbooks("Book1.xls").Activate
Sheets(1).Select
Range("A65500").End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ClearClipboard_NO_EJECUTAR
End If
Workbooks(Ficheros(libro)).Close (False)
libro = libro + 1
Next libro


Gracias de antemano

1 Respuesta

Respuesta
1
Neoff224 lo más conveniente para tu macro es el contro de errores
On Error GoTo SALIR:
Lo que haces es decir que cuando halla un error se salte a la etiqueta salir
así que por lo que cuentas el erro se produce cuando abre el libro sin datos por lo cual debería saltarse ala parte de la macro en donde cierras el libro abierto
creo que es :
Salir:
Workbooks(Ficheros(libro)). Close (False)
libro = libro + 1
Next libro
Por cierto la instrucción: On Error GoTo SALIR: debe ir al principio del código

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas