Hola,
Espero que me puedan ayudar, tengo un problema con una macro, necesito extraer la informacion de un libro cerrado a un libro abrierto, esta copia debe ser con sus nombres de hojas, la macro, me copia los datos pero al final de la ejecucion me arroja error, esto es solo una parte de todo el problema pero es la que me urge mas, agradeceria su ayuda.
Macro.
Sub Macro5()
Dim x As Integer
Dim BkName As String
Dim NumSht As Integer
Dim BegSht As Integer
Workbooks.Open ("C:\Informe Proyectos\Resumen de proyectos.xlsx")
Windows("Resumen de proyectos.xlsx").Activate
For x = 1 To ActiveWorkbook.Sheets.Count
Next
BegSht = x
NumSht = x
BkName = ActiveWorkbook.Name
For x = 1 To NumSht
Workbooks(BkName).Sheets(BegSht).Move Before:=Workbooks("Generador de Informe.xlsm").Sheets(1)
Next
End Sub
Adjunto | Tamaño |
---|---|
generador_de_informe.xlsm | 18.01 KB |
¿Qué error te da y en qué línea del código?
Parece que tienes los bucles For next un poco descolocados.
entiendo que haces un bucle en x para contar las hojas ¿?
pero al final del bucle, x vale el número de hojas más uno, así que puedes estar intentando acceder a una hoja que no existe.
Tus variables BegSht y NumSht siempre valen lo mismo, porque les das valor fuera del primer bucle y ese valor será el número de hojas+1 (así que está fuera del rango)
¿por que no haces un bucle For Each que recorra las hojas del libro resumen?
------
Ya sé Excel, pero necesito más.