Hola:
Tengo una macro que me recorre una columna, y va buscando los valores de cada celda en otra hoja de la siguiente forma:
on error goto nada: For i = 1 To ultimovalor With Worksheets("SALIDA_2010").Columns("B:B") material = .Range("M" & i).Value End If nada: end if next
If ActiveCell.Offset(i, 0).Value > fechainicio And ActiveCell.Offset(i, 0).Value < fechafinal Then
If Not IsError(.Find(presupuesto, LookIn:=xlValues, loookat:=xlWhole)) Then
Set C = .Find(presupuesto, LookIn:=xlValues, loookat:=xlWhole)
If Not C Is Nothing Then
End If
Como podeis ver, tengo 2 controles de error.
Los errores se controlan la primera vez que ocurren, pero si en el siguiente ciclo se vuelven a repetir, no puedo controlarlos.
Me podeis ayudar?
Un saludo
al poner una sentencia
On Error GoTo...
se interceptan todos los errores durante la ejecución.fíjate que cualquier error se dirige a una sentencia
End If
¿qué pasa si el error no se produce dentro de ese bloque
if - end if
?por cierto ¿dónde está el
End With
?Prueba con F8 para ejecutar estas instrucciones paso a paso, para ver dónde salta con el error y qué hace
------
Ya sé Excel, pero necesito más ahora en pdf
------
Ya sé Excel, pero necesito más.
Quizás no me haya expresado bien.
Depurando con F8, me encuentro que la primera vez que ocurre el error lo depura correctamente llendose al control de errores, y ejecutandose el next.
El problema es cuando vuelvo a ejecutar el for y se encuentra de nuevo con otro error, pues directamente me sale el error en plantalla y no lo depura.
El End With no está porque solo he mandado una parte del código.
Si necesitas que lo envíe entero lo envío.
Un saludo
me huele a que estás todavía dentro del tratamiento de errores.
cuando se produce un error en el tratamiento de errores no se intercepta
no sales del tratamiento de errores hasta que no pongas un
Resume
o hasta que termine el procedimientola ayuda de vba dice esto: "Si se produce un error mientras un controlador está activo (entre la aparición del error y una instrucción Resume, Exit Sub, Exit Function o Exit Property), el controlador de errores del procedimiento actual no puede tratarlo"
Además, eso de poner el End If y el Next en el tratamiento de errores es muy raro, imagina que tienes un error en otra parte fuera del bucle, lo estarías enviando a un next.
------
Ya sé Excel, pero necesito más ahora en pdf
------
Ya sé Excel, pero necesito más.
Pues si.
Se me habia olvidado poner el Resume
Muchisimas gracias