Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

no consigo evitar error 1004 con on error goto

Estas en el tema de no consigo evitar error 1004 con on error goto en el foro de Visual Basic clásico en Foros del Web. buenas! espero que me puedan ayudar con un problemilla: tengo el siguiente codigo: For j = 0 To UBound(vChildComp) ............... On Error GoTo Salto1 Range("CONFIG").Activate ...
  #1 (permalink)  
Antiguo 06/03/2009, 02:40
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 5 meses
Puntos: 0
no consigo evitar error 1004 con on error goto

buenas!
espero que me puedan ayudar con un problemilla:
tengo el siguiente codigo:
For j = 0 To UBound(vChildComp)
...............
On Error GoTo Salto1
Range("CONFIG").Activate
..........
Salto1:
On Error GoTo Salto2
Range("OPERACION").Activate
.......
Salto2:
...............
Next j

en la primera vuelta llega a On Error GoTo Salto1 y salta a Salto1 (porque se produce un error) y sigue normal. hasta ai todo bien.pero en la segunda vuelta llega a On Error GoTo Salto2 y me da el error 1004. porque no me salta a salto2? supuestamente tendria que hacerlo no?

gracias por adelantado!
  #2 (permalink)  
Antiguo 06/03/2009, 03:27
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: no consigo evitar error 1004 con on error goto

Tenes que usar "Exit Sub" ó "Exit Function" cuando finaliza el control de error de un goto... Osea seria algo asi

Cita:
Iniciado por ebu Ver Mensaje
For j = 0 To UBound(vChildComp)
...............
On Error GoTo Salto1
Range("CONFIG").Activate
Exit Sub
..........
Salto1:
On Error GoTo Salto2
Range("OPERACION").Activate
Exit Sub
.......
Salto2:
...............
Next j
Aparte en el "Salto1:"
Podes usar "Err." para saber el numero de error y la descripcion, asi sabes que esta pasando.

Por que la idea es que no tire ningun error
  #3 (permalink)  
Antiguo 06/03/2009, 03:55
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: no consigo evitar error 1004 con on error goto

gracias por responder!
he probado tu codigo y me sigue dando error 1004 en Range("OPERACION").Activate.

te explico: tengo un excel con varias hojas. en algunas hojas tengo unas celdas llamadas CONFIG y OPERACION. el caso es q en las hojas que no tengo nombradas ninguna celda con CONFIG y OPERACION me da un error.

la idea: que mire si Range("CONFIG").Activate(es decir, si existe esa celda en la hoja), si no existe me dara error entonces con Salto1 que se pase a Range("OPERACION").Activate y si este tampoco no existe que vaya a salto2.

yo creo que con unos simples goto tendria q funcionar...

he probado en introducir On Error GoTo 0 y Resume Next pero tampoco lo consigo. no se si en este caso estas lineas serian necesarias...

espero que me puedan ayudar!

muchas gracias!
  #4 (permalink)  
Antiguo 06/03/2009, 04:09
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: no consigo evitar error 1004 con on error goto

El objeto para el acceso al excel que tipo es... Ado, Dao, DataControl... cual?

Con goto no se soluciona eso, con una simple sentancia condicional se hace, pero depende el objeto que estes usando
  #5 (permalink)  
Antiguo 06/03/2009, 04:22
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: no consigo evitar error 1004 con on error goto

yo programo en el editor de visual basic en excel. no tengo que usar ningun objeto porq accedo directamente a los datos de excel.
  #6 (permalink)  
Antiguo 08/03/2009, 20:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Mensaje Respuesta: no consigo evitar error 1004 con on error goto

Saludos, talvez si limpias el error despues de manejarlo en Salto1

Código vb:
Ver original
  1. Err.Clear
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.