Hola !!
Despues de mucho meneo y exfuerzo he conseguido anidar bucles... joels! y
ahora parece tan sencillo...
pero despues de los bucles me doy cuenta de que la macro aun siendo casi
perfecta no cumple con los requisitos que deseo y no se como prantearlos.
abajo planteo dos ejemplos y tambien despues expongo la macro.
La cuestion es la siguiente:
la cifra 49.79 da señal porque hay un numero negativo en el "ejemplo 1",
pero en el ejemplo 2 aunque tenemos tambien tenemos un numero negativo, pues
me gustaria que no diera señal pues tenemos antes del negativo un numero
superior a 25 que segun la macro seria falso
los dos bucles van del 1 al 13, y la cuestion seria que si el bucle primero
(en distancia del 1 al 13) da falso, antes que el otro, pues el verdadero
del segundo no me valga.
como no se si aun me he dado a enteder, pues ni yo mismo se si me entiendo,
lo explico de otra forma mas
Si los dos bucles fueran simultaneos (cosa que creo que no) que se me
ejecutara solo el que llegue antes a la solucion en tiempo de contador. Si
bucle 1 cumple condicion en fila 3 y bucle 2 cumple condicion en fila 10,
que sea el bucle 1 el que nos de la razon.
Gracias.-
ejemplo1
Km/h.
49,78
20,13
17,68
9,59
4,10
-2,85
10,11
22,70
25,61
33,13
30,06
10,07
13,09
******************
******************
ejemplo2
Km/h.
49,78
25,33
17,68
9,59
4,10
-2,85
10,11
22,70
25,61
33,13
30,06
10,07
13,09
Sub KilometrosHora25(ByVal i As Integer)
Dim EsValido As Boolean
Dim j As Integer
Dim k As Integer
If Range("CN" & i).Value > 25 Then
EsValido = True
For j = 1 To 13
If Range("CN" & i + j).Value > 25 Then
EsValido = False
End If
For k = 1 To 13
If Range("CN" & i + k).Value < 0 Then
EsValido = True
End If
Next k
Next j
If EsValido = True Then
Call bordecelda("CN" & i, "grueso", "morado")
Call ponercomentario("25 Km/h. Vender", "CN", i)
Selection.Interior.ColorIndex = 7
Range("D1").Select
Selection.Interior.ColorIndex = 7
End If
End If
End Sub
Leer las respuestas