
Ayuda bucle do se me hace infinito
Publicado por Edgar (10 intervenciones) el 18/04/2017 04:41:29
Saludos. Agradezco de antes mano a quien pueda ayudarme a solucionar este problema que tengo.
Tengo una lista de datos los anexo en el .rar, lo único que busco es una coincidencia (si alguien tiene otra forma de buscar la coincidencia se lo agradezco). les dejo el código:
para comenzar el problema es cuando el valor de la lista no es el que busco si no esta entre ellos,ejemplo, 52, 53, 54 y quiero buscar la coincidencia con 51.2, entonces lo que quiero es generarlo sumando hasta que se genere el dato existente. Entonces me ocurre lo siguiente
como esta escrito a continuación funciona correctamente (pero no es el numero que quiero buscar)
Ahora solo cambio el 80 por 50 que es el numero que me interesa y el bucle entra en infinito, es la solucion que buco de verdad no entiendo que pasa, a igual si envez de hacer 80 + x hago 80 - x entra en infinito, cosa que no entiendo ya que solo busco una coincidencia.
Gracias a quien pueda ayudarme y repito si sabe otra forma de encontrar la coincidencia y me la hace saber se lo agradezco saludos. Dios los bediga.
Tengo una lista de datos los anexo en el .rar, lo único que busco es una coincidencia (si alguien tiene otra forma de buscar la coincidencia se lo agradezco). les dejo el código:
para comenzar el problema es cuando el valor de la lista no es el que busco si no esta entre ellos,ejemplo, 52, 53, 54 y quiero buscar la coincidencia con 51.2, entonces lo que quiero es generarlo sumando hasta que se genere el dato existente. Entonces me ocurre lo siguiente
como esta escrito a continuación funciona correctamente (pero no es el numero que quiero buscar)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim x As Double
Dim fila As Integer
MsgBox Hoja1.Range("b24")
x = 0.01
Do
For fila = 1 To 65
If Hoja1.Cells(fila, 2) = 80 + x Then
MsgBox "Se cumple"
Exit Do
Exit For
End If
Next fila
x = x + 0.01
Loop Until x = 10
Ahora solo cambio el 80 por 50 que es el numero que me interesa y el bucle entra en infinito, es la solucion que buco de verdad no entiendo que pasa, a igual si envez de hacer 80 + x hago 80 - x entra en infinito, cosa que no entiendo ya que solo busco una coincidencia.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim x As Double
Dim fila As Integer
MsgBox Hoja1.Range("b24")
x = 0.01
Do
For fila = 1 To 65
If Hoja1.Cells(fila, 2) = 50 + x Then
MsgBox "Se cumple"
Exit Do
Exit For
End If
Next fila
x = x + 0.01
Loop Until x = 10
Gracias a quien pueda ayudarme y repito si sabe otra forma de encontrar la coincidencia y me la hace saber se lo agradezco saludos. Dios los bediga.
- prueba1.rar(18,0 KB)
Valora esta pregunta


0