Tengo un misterio con un código de Visual Basic que funcionaba perfectamente sobre Excel 2000 y ahora no funciona en Excel 2007. El caso es que tengo un bucle que hace 41 iteraciones cosa que hago con un bucle "for" recorriendo una tabla.
En dicho bucle llamo a un método en el que comprueblo una condición con una sentencia IF, en el caso de que no se cumpla dicha condicion no se hace nada, en caso contrario copio un rango de una hoja en otra hoja. El caso es que cuando realizo tal copia tengo logicamente que abrir el fichero y volverlo a cerrar, el caso es que no me lo cierra y me deja Excel pillado teniendo que pulsar Control+Alt+Suprimir y vuelta la burra al trigo. Llevo 3 semanas con esta "full" y estoy un poco como os diria harto jajaj, os pongo el codigo fuente a ver si alguien ilumina este dia tan triste.... Un fuerte abrazo a todo@s ¡¡
Código:
Muchas Gracias de antemano y que tengais un buen día. Código:Hoja3.Range("CONT").Value = 1 'Inicializacion de Variable 'Bucle que os comentaba For CONT = 1 To Hoja3.Range("TOTREV").Value cargar_FITI_R (CONT) Next 'Metodo cargar_fiti_R Function cargar_FITI_R(CONT As Integer) Dim forigen As String On Error Resume Next Hoja3.Range("TEMP").Value = Application.WorksheetFunction.Index _ (Workbooks("menunew.xls").Sheets("datos").Range("TABLA_REVISTAS"), CONT, 3) If Hoja3.Range("TEMP").Value = Hoja3.Range("EMPRESA") Then Hoja3.Range("REVISTA") = Application.WorksheetFunction.Index _ (Workbooks("menunew.xls").Sheets("datos").Range("TABLA_REVISTAS"), CONT, 2) forigen = Hoja3.Range("fichero_fiti_R").Value 'Workbooks.Open Filename:=forigen, Updatelinks:=0, ReadOnly:=True Workbooks.Open Filename:=forigen Range("A1:N130").Select Selection.Copy Workbooks("ficacu.xls").Activate Application.Goto reference:=ActiveWorkbook.Sheets("fichareal").Range("zonaux_R") Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:= _ False, Transpose:=False Hoja2.Range("a1").Activate Hoja2.Range("a1").Select Selection.Copy forigen = Right(forigen, 12) 'Workbooks(forigen).Close False Workbooks(forigen).Close True End If