Buenas tardes, me gustaría saber si me pueden ayudar con la siguiente macro, todos los días recibo un archivo con los datos de unos ACTIVOS que son colocados en diferentes hojas dependiendo del activo (ACTIVO1, ACTIVO2,…ACTIVOn), es decir, hay una hoja para cada activo. Hice una macro en el archivo "DATOS DEL SIAR PARA ESTIMACION DEL C-VaR y EVT.xls" con la intención de extraer solo el rango que me interesa el cual es fijo para cada activo ("B4:B23"). La macro me funciona bien pero tengo el problema que no siempre hay información para algún activo en particular, y yo hice la macro considerándolos todos. Por ejemplo, si el día de mañana no hay información para el ACTIVO3 esa hoja no va a estar en el archivo que recibo, por lo que, me genera un error de depuración y se detiene sin completar la rutina, no me pega nada.
Mi pregunta es: existe alguna forma de decir en la macro, que si una hoja determinada no está continúe el proceso, que no se detenga y pegue el resto de las hojas que si tienen información, es decir que completa la rutina con los activos que si aparecen en el archivo y que no se detenga porque falta alguno en particular.
Windows("SALIDAS SIMULACIONES DEL VaR.xls").Activate
Sheets("ACTIVO1").Select
Range("B4:B23").Select
Selection.Copy
Windows("DATOS DEL SIAR PARA ESTIMACION DEL C-VaR y EVT.xls").Activate
Range("B2").Select
ActiveSheet.Paste
Windows("SALIDAS SIMULACIONES DEL VaR.xls").Activate
Sheets("ACTIVO2").Select
Range("B4:B23").Select
Application.CutCopyMode = False
Selection.Copy
Windows("DATOS DEL SIAR PARA ESTIMACION DEL C-VaR y EVT.xls").Activate
Range("C2").Select
ActiveSheet.Paste
Windows("SALIDAS SIMULACIONES DEL VaR.xls").Activate
Sheets("ACTIVO3").Select
Range("B4:B23").Select
Application.CutCopyMode = False
Selection.Copy
Windows("DATOS DEL SIAR PARA ESTIMACION DEL C-VaR y EVT.xls").Activate
Range("D2").Select
ActiveSheet.Paste
Windows("SALIDAS SIMULACIONES DEL VaR.xls").Activate
ActiveWindow.ScrollWorkbookTabs Sheets:=-3
Sheets("ACTIVO4").Select
Range("B4:B23").Select
Application.CutCopyMode = False
Selection.Copy
Windows("DATOS DEL SIAR PARA ESTIMACION DEL C-VaR y EVT.xls").Activate
Range("E2").Select
ActiveSheet.Paste[/CODE]
Agradeciéndoles de antemano su ayuda quedo a la espera de su siempre oportuna respuesta,
Saludos cordiales.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas tardes, me gustaría saber si me pueden ayudar con la siguiente macro, todos los días recibo un archivo con los datos de unos ACTIVOS que son colocados en diferentes hojas dependiendo del activo (ACTIVO1, ACTIVO2,…ACTIVOn), es decir, hay una hoja para cada activo. Hice una macro en el archivo "DATOS DEL SIAR PARA ESTIMACION DEL C-VaR y EVT.xls" con la intención de extraer solo el rango que me interesa el cual es fijo para cada activo ("B4:B23"). La macro me funciona bien pero tengo el problema que no siempre hay información para algún activo en particular, y yo hice la macro considerándolos todos. Por ejemplo, si el día de mañana no hay información para el ACTIVO3 esa hoja no va a estar en el archivo que recibo, por lo que, me genera un error de depuración y se detiene sin completar la rutina, no me pega nada.
Mi pregunta es: existe alguna forma de decir en la macro, que si una hoja determinada no está continúe el proceso, que no se detenga y pegue el resto de las hojas que si tienen información, es decir que completa la rutina con los activos que si aparecen en el archivo y que no se detenga porque falta alguno en particular.
Agradeciéndoles de antemano su ayuda quedo a la espera de su siempre oportuna respuesta,
Saludos cordiales.