Macro en cadena no funciona cuando no hay datos en una secuencia

Tengo una macro en cadena en excel que llama una secuencia de macros de copiado y pegado de datos seleccionados, pero cuando la hoja no tiene datos me aparece un error y no sigue con el proceso y queda solo hasta el ultimo proceso con datos.
Necesito que al llamar las macros de traspaso del 1 al 14 si no hay datos en alguna de ellas se la salte y siga con la siguiente

1 respuesta

Respuesta
2

En la línea que te marca error, la macro se detendrá y te la mostrara en amarillo, sobre esa línea escribe on error resume next y abajo de esa misma línea on error goto 0, la primera ignorara el error y continuara con la macro, la segunda pone el numero de error en 0.

Lo intenté, al corregir el error me pega datos que no son visibles y que no quiero que se copien

Esa es la macro de un mes, son todas iguales porque son datos que extraigo sin formato y los pego a otra hoja, pero están en distintas hojas de enero a diciembre con una hoja de apertura y una de cierre, en total son 14 hojas de las que extraigo solo las celdas que tienen datos, pero cuando no hay datos me sale el error y si pongo tu fórmula para anular el error continua con el proceso y me pega datos que no necesito,

Sub TRASPASOAGO()
'
' TRASPASOAGO Macro

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False

Sheets("D AGO").Select
Rows("5:500").Select
Selection.EntireRow.Hidden = False
' ActiveWindow.SmallScroll Down:=6
Rows("5:500").Select
Selection.EntireRow.Hidden = False
Dim r As Range
Application.ScreenUpdating = False

For Each r In Range("B5:B500")
If r = "" Then r.EntireRow.Hidden = True
Next r
Range("A6").Select

Range("E5:M500").Select
ActiveSheet.Unprotect
Selection.SpecialCells(xlCellTypeVisible).Select
ActiveWindow.ScrollWorkbookTabs Sheets:=24
Sheets("D AGO").Select
ActiveWindow.ScrollWorkbookTabs Sheets:=15
Sheets("TRASPASO").Select
Sheets("D AGO").Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Sheets:=1
ActiveWindow.ScrollWorkbookTabs Sheets:=33
Sheets("TRASPASO").Select
Range("C1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False


End Sub

Modifique un poco tu macro pruébalas, si no encuentra datos para copiar da por termninado el programa, solo adáptala a lo que ocupes

Sub TRASPASOAGO()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
Sheets("D AGO").Select
Rows("5:500").Select
Selection.EntireRow.Hidden = False
' ActiveWindow.SmallScroll Down:=6
Rows("5:500").Select
Selection.EntireRow.Hidden = False
Dim r As Range
Application.ScreenUpdating = False
For Each r In Range("B5:B500")
If r = "" Then r.EntireRow.Hidden = True
Next r
Range("A6").Select
Range("E5:M500").Select
ActiveSheet.Unprotect
On Error Resume Next
Selection.SpecialCells(xlCellTypeVisible).Select
If Err.Number > 0 Then GoTo SALIDA:
On Error GoTo 0
ActiveWindow.ScrollWorkbookTabs Sheets:=24
Sheets("D AGO").Select
ActiveWindow.ScrollWorkbookTabs Sheets:=15
Sheets("TRASPASO").Select
Sheets("D AGO").Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Sheets:=1
ActiveWindow.ScrollWorkbookTabs Sheets:=33
Sheets("TRASPASO").Select
On Error Resume Next
Range("C1").End(xlDown).Offset(1, 0).Select
If Err.Number > 0 Then
    Range("C1").Select
End If
On Error GoTo 0
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
ActiveSheet.DisplayPageBreaks = True
Application.CutCopyMode = False
SALIDA:
End Sub

¡Gracias! 

Te agradezco infinitamente tu ayuda, que Dios te bendiga y te haga prosperar en lo que emprendas,

Saludos desde Chile

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas