Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2009, 02:44
superdober
Invitado
 
Mensajes: n/a
Puntos:
AYUDA EN Error Codigo Visual Basic

Hola muy buenas a tod@s ¡¡

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:
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
Muchas Gracias de antemano y que tengais un buen día.