salir de un bucle

18/03/2010 - 11:21 por Des As Tre | Informe spam
Saludos.
Utilizo la el siguiente formato para que se ejecute el siguiente valor de un bucle

Sub a()
for bucle = 1 to 721
si no pasa lo que quiero Goto etiqueta ' puntoA
if pasa ...then
haz lo que debes

end if
:etiqueta
next bucle
end Sub

Pero quiero conseguir que desde el ' puntoA se ejecute el siguiente valor de un bucle sin mandar
que vaya a la etiqueta.
Podeis decirme como?

Saludos y ... Excel entes vibraciones
Des As Tres No imprimas, ganemos un árbol... o tres hojinas
.

Preguntas similare

Leer las respuestas

#1 Juan M
18/03/2010 - 11:32 | Informe spam
"Des As Tre" escribió
Saludos.
Utilizo la el siguiente formato para que se ejecute el siguiente valor de
un bucle

Sub a()
for bucle = 1 to 721
si no pasa lo que quiero Goto etiqueta ' puntoA
if pasa ...then
haz lo que debes

end if
:etiqueta
next bucle
end Sub

Pero quiero conseguir que desde el ' puntoA se ejecute el siguiente valor
de un bucle sin mandar
que vaya a la etiqueta.
Podeis decirme como?

Saludos y ... Excel entes vibraciones
Des As Tres No imprimas, ganemos un árbol... o tres
hojinas
.




Hola,

Para hacer ese tipo de bucles debes emplear otros métodos de repetición:

Do while.loop Se ejecutará si se cumple una condición de entrada

Do loop until Se ejecutará al menos una vez

while wend Se ejecutará en función de la condición de entrada.

Debes tener cuidado para incluir alguna condición de salida, sino corres el
riesgo de hacer un bucle infinito.


Para más información consulta la ayuda o aporta datos específicos de lo que
pretendes hacer.

Un saludo,
Juan
Respuesta Responder a este mensaje
#2 Ignacio
18/03/2010 - 14:48 | Informe spam
¡Hola, "Des As Tre"!

En vez de Goto etiqueta, utiliza bucle = bucle + 1 directamente.
El bucle continuará con la siguiente iteración.

Espero que te sirva de algo,

Un saludo,
Ignacio.
Respuesta Responder a este mensaje
#3 Héctor Miguel
19/03/2010 - 02:23 | Informe spam
hola, Des !

no tiene sentido usar una linea de salto condicionada (si NO pasa lo que quiero, GoTo Etiqueta)
y repetir la misma condicion en sentido inverso... (si SI pasa lo que quiero Then ...)
es como un "pleonasmo" en la gramatica de la informatica :))

si usas la opcion de etiqueta, no requieres de la misma condicion (linea siguiente) en sentido inverso
si usas solamente la condicion, no requieres del salto a la etiqueta (linea anterior y la condicion inversa)

saludos,
hector.

__ OP __
Utilizo la el siguiente formato para que se ejecute el siguiente valor de un bucle

Sub a()
for bucle = 1 to 721
si no pasa lo que quiero Goto etiqueta ' puntoA
if pasa ...then
haz lo que debes

end if
:etiqueta
next bucle
end Sub

Pero quiero conseguir que desde el ' puntoA se ejecute el siguiente valor de un bucle sin mandar que vaya a la etiqueta...
Respuesta Responder a este mensaje
#4 Des As Tre
21/03/2010 - 22:04 | Informe spam
Hola Ignacio. Gracias.
Lo pruebo y te comento
Saludos y ... Excel entes vibraciones
Des As Tres No imprimas, ganemos un árbol... o tres hojinas
.
"Ignacio" escribió en el mensaje
news:
¡Hola, "Des As Tre"!

En vez de Goto etiqueta, utiliza bucle = bucle + 1 directamente.
El bucle continuará con la siguiente iteración.

Espero que te sirva de algo,

Un saludo,
Ignacio.
Respuesta Responder a este mensaje
#5 Des As Tre
21/03/2010 - 22:29 | Informe spam
Hola Héctor.Gracias.
Eres un puntilloso... pero tienes razón.
Dado que la pregunta creo que la hago clara, no me tomo demasiadas molestias en el resto del
conjunto de descripciones.
Por descontado que tienes razón, pero si miras lo que pongo :
si pasa...then
no esta especificado el qué. No indico que necesariamente lo que "pasa" tenga que ser lo que no
pasaba en la línea anterior
Lo que estaba tratando de poner,disculpa mi forma informal de hacerlo, era ( espero que ahora sea
mas comprensible):
Sub a()
for bucle = 1 to 721
código
si no pasa lo que quiero Goto etiqueta ' puntoA
código
:etiqueta
next bucle
código
end Sub
y la misma pregunta expresada de otra forma.
¿ como pasar al siguiente ciclo del bucle desde un punto [ obviando todo el resto de instrucciones
hasta el "Next" ], y sin utilizar la etiqueta?
Saludos y ... Excel entes vibraciones
Des As Tres No imprimas, ganemos un árbol... o tres hojinas
.
"Héctor Miguel" escribió en el mensaje
news:%
hola, Des !

no tiene sentido usar una linea de salto condicionada (si NO pasa lo que quiero, GoTo Etiqueta)
y repetir la misma condicion en sentido inverso... (si SI pasa lo que quiero Then ...)
es como un "pleonasmo" en la gramatica de la informatica :))

si usas la opcion de etiqueta, no requieres de la misma condicion (linea siguiente) en sentido


inverso
si usas solamente la condicion, no requieres del salto a la etiqueta (linea anterior y la


condicion inversa)

saludos,
hector.

__ OP __
> Utilizo la el siguiente formato para que se ejecute el siguiente valor de un bucle
>
> Sub a()
> for bucle = 1 to 721
> si no pasa lo que quiero Goto etiqueta ' puntoA
> if pasa ...then
> haz lo que debes
>
> end if
> :etiqueta
> next bucle
> end Sub
>
> Pero quiero conseguir que desde el ' puntoA se ejecute el siguiente valor de un bucle sin


mandar que vaya a la etiqueta...


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida