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

go to

Estas en el tema de go to en el foro de Visual Basic clásico en Foros del Web. hola, ando con el vb editor del excel 03 y no se si se puede usar en go to para saltar a otra linea. tengo ...
  #1 (permalink)  
Antiguo 20/11/2008, 05:43
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
go to

hola, ando con el vb editor del excel 03 y no se si se puede usar en go to para saltar a otra linea.
tengo lo siguiente:
'line 62 For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i)
If swChildComp.IsPatternInstance Then GoTo 62 'quiero saltar a la linea 62

y me da un error de compilacion:no se ha definido la etiqueta.
ha alguien le ha pasado esto?o saben de algun otro metodo para saltar de linea?
gracias de antemano!
  #2 (permalink)  
Antiguo 20/11/2008, 06:16
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: go to

Cita:
Iniciado por ebu Ver Mensaje
hola, ando con el vb editor del excel 03 y no se si se puede usar en go to para saltar a otra linea.
tengo lo siguiente:
'line 62 For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i)
If swChildComp.IsPatternInstance Then GoTo 62 'quiero saltar a la linea 62

y me da un error de compilacion:no se ha definido la etiqueta.
ha alguien le ha pasado esto?o saben de algun otro metodo para saltar de linea?
gracias de antemano!
Hola, en VBA no lo sé, pero en VB6 se hace así:

Código:
For i = 0 To iNum
inicio:
    ' instrucciones        ... 
   If condicion Then GoTo inicio
Next i
No olvides poner los dos puntos en la etiqueta 'inicio'

  #3 (permalink)  
Antiguo 20/11/2008, 06:56
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: go to

gracias x tu ayuda, avellaneda!
en principio en el vbe si se reconoce el goto xq me lo pone en azul.
en mi caso el inicio lo he puesto antes del for xq cuando el dato del array vChildComp cumpla la condicion quiero q se ignore ese dato y vuelta al for para seguir con el siguiente, el i+1.
pero al ejecutarlo de esta manera se me bloquea. pueden ayudarme??gracias!!
inicio:
For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i) 'vChildComp es object ()
If swChildComp.IsPatternInstance Then GoTo inicio
  #4 (permalink)  
Antiguo 20/11/2008, 08:10
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: go to

Cita:
Iniciado por ebu Ver Mensaje
gracias x tu ayuda, avellaneda!
en principio en el vbe si se reconoce el goto xq me lo pone en azul.
en mi caso el inicio lo he puesto antes del for xq cuando el dato del array vChildComp cumpla la condicion quiero q se ignore ese dato y vuelta al for para seguir con el siguiente, el i+1.
pero al ejecutarlo de esta manera se me bloquea. pueden ayudarme??gracias!!
inicio:
For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i) 'vChildComp es object ()
If swChildComp.IsPatternInstance Then GoTo inicio
Y porqué antes del For?

si se cumple la condición, volverá al principio, es decir a contar desde cero, estará haciendo un bucle sin fin.

  #5 (permalink)  
Antiguo 20/11/2008, 08:58
ebu
 
Fecha de Ingreso: noviembre-2008
Mensajes: 153
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: go to

tienes razon.
le he estado dando unas vueltas y he conseguido q me haga lo mismo de esta manera:

Sub nombre(swComp As object)
vChildComp = swComp.GetChildren 'aqui se carga vChildComp q es un object()

For i = 0 To UBound(vChildComp) 'va recorriendo todos los datos del array
Set swChildComp = vChildComp(i)
If swChildComp.IsPatternInstance Then GoTo inicio
'cada vez q se cumpla esta condicion, quiero ignorar ese dato del array x lo q quiero pasar al siguiente dato.para ello go to al mismo procedimiento. esto al final es como un procedimiento recursivo.
...

inicio:
nombre swChildComp
Next i

gracias x tu ayuda y espero q esto tb le pueda servir a alguien!
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 07:51.