gestion de errores
Publicado por javier (1 intervención) el 30/12/2008 10:02:01
Estoy teniendo un problema a la hora de hacer una macro para excel, el programa debe abrir varios excel para coger un valor.
Hay 2 bucles for, 1 para buscar en las plantas y dentro de cada planta para buscar en meses, el problema viene cuando por ejemplo en una planta no existe un mes y por tanto al intentar abrirlo salta error. Intento solucionarlo con lo tipico de on error goto linefin: que hace que me salga del bucle de meses y el caso es que la primera vez lo hace bien pero al segundo error ya no se dirige a la linea de fin.
Una manita por favor
For i = 1 To plantas
Planta = Sheets("Historic availability").Range("AG9").Offset(i, 0)
Sheets("Historic availability").Range("C35").Offset(i, 0) = Planta
For j = 1 To 12
mes = Left(Sheets("Historic availability").Range("AE8").Offset(j, 0), 3)
libro = "C:Documents and Settings" & Environ("UserName") & "Mis documentosASPVMantenimientoProducciones" & Planta & "" & año & "" & Planta & "_" & mes & ".xls"
Workbooks.Open (libro)
Workbooks("Abriendo").Sheets("Historic availability").Range("C35").Offset(i, j) = Sheets("Total month").Range("T2")
ActiveWorkbook.Close
Next
linefin:
Next
Hay 2 bucles for, 1 para buscar en las plantas y dentro de cada planta para buscar en meses, el problema viene cuando por ejemplo en una planta no existe un mes y por tanto al intentar abrirlo salta error. Intento solucionarlo con lo tipico de on error goto linefin: que hace que me salga del bucle de meses y el caso es que la primera vez lo hace bien pero al segundo error ya no se dirige a la linea de fin.
Una manita por favor
For i = 1 To plantas
Planta = Sheets("Historic availability").Range("AG9").Offset(i, 0)
Sheets("Historic availability").Range("C35").Offset(i, 0) = Planta
For j = 1 To 12
mes = Left(Sheets("Historic availability").Range("AE8").Offset(j, 0), 3)
libro = "C:Documents and Settings" & Environ("UserName") & "Mis documentosASPVMantenimientoProducciones" & Planta & "" & año & "" & Planta & "_" & mes & ".xls"
Workbooks.Open (libro)
Workbooks("Abriendo").Sheets("Historic availability").Range("C35").Offset(i, j) = Sheets("Total month").Range("T2")
ActiveWorkbook.Close
Next
linefin:
Next
Valora esta pregunta
0