Pegar Archivos
Publicado por Maty (2 intervenciones) el 02/09/2007 19:57:02
Estimados amigos:
He construido un macro que trata de pegar dos archivos.
El archivo a pegar (Emisor.xls) contiene 16 hojas
El archivo al cual se pegaran esas hojas (Receptor.xls) contiene 4 hojas.
El macro lo he colocado en un archivo que llamo ArchivoExterno.xls
Todo parece en orden, sin embargo al correr dicho macro se detiene en la instrucción
Worksheets(MyArray(X)).Copy Before:=Workbooks("Receptor.xls").Sheets(5)
Presentando un cuadro de diálogo que dice:
Se ha producido el error ‘9’ en tiempo de ejecución:
Subíndice fuera del intervalo
A continuacion el macro completo:
Sub PegarArchivos() 'Macro colocado en ArchivoExterno.xls
Dim MyArray
Dim X As Long
Workbooks.Open Filename:="D:\Mis Documentos\Receptor.xls"
Workbooks.Open Filename:="D:\Mis Documentos\Emisor.xls"
Windows("Emisor.xls").Activate
MyArray = Array("Hoja1", "Hoja2", "Hoja3", "Hoja4", "Hoja5", "Hoja6", "Hoja7", "Hoja8", _
"Hoja9", "Hoja10", "Hoja11", "Hoja12", "Hoja13", "Hoja14", "Hoja15", "Hoja16")
For X = UBound(MyArray) To LBound(MyArray) Step -1
Worksheets(MyArray(X)).Move Before:=Workbooks("Receptor.xls").Sheets(5)
Next X
End Sub
Desde ya les agradezco la atención a esta consulta
Atentamente, Matty
He construido un macro que trata de pegar dos archivos.
El archivo a pegar (Emisor.xls) contiene 16 hojas
El archivo al cual se pegaran esas hojas (Receptor.xls) contiene 4 hojas.
El macro lo he colocado en un archivo que llamo ArchivoExterno.xls
Todo parece en orden, sin embargo al correr dicho macro se detiene en la instrucción
Worksheets(MyArray(X)).Copy Before:=Workbooks("Receptor.xls").Sheets(5)
Presentando un cuadro de diálogo que dice:
Se ha producido el error ‘9’ en tiempo de ejecución:
Subíndice fuera del intervalo
A continuacion el macro completo:
Sub PegarArchivos() 'Macro colocado en ArchivoExterno.xls
Dim MyArray
Dim X As Long
Workbooks.Open Filename:="D:\Mis Documentos\Receptor.xls"
Workbooks.Open Filename:="D:\Mis Documentos\Emisor.xls"
Windows("Emisor.xls").Activate
MyArray = Array("Hoja1", "Hoja2", "Hoja3", "Hoja4", "Hoja5", "Hoja6", "Hoja7", "Hoja8", _
"Hoja9", "Hoja10", "Hoja11", "Hoja12", "Hoja13", "Hoja14", "Hoja15", "Hoja16")
For X = UBound(MyArray) To LBound(MyArray) Step -1
Worksheets(MyArray(X)).Move Before:=Workbooks("Receptor.xls").Sheets(5)
Next X
End Sub
Desde ya les agradezco la atención a esta consulta
Atentamente, Matty
Valora esta pregunta


0