devolver ultima posición en una matriz(NO UBound)
Publicado por Carlos (2 intervenciones) el 10/01/2008 11:30:34
Hola a todos. Soy un poco inexperto en esta materia y tengo un problema que de momento no soy capaz de solucionar. Agradeceré vuestra ayuda. Explico; tengo una matriz de constantes con un indice de mas de 700 constantes, con un valor numérico diferente en cada una. Mi objetivo es mediante un bucle ir sumando dichas constantes dentro de la matriz hasta que la suma total, dé como resultado un valor >= que otro que el usuario introducirá en un campo de texto. Esto lo he conseguido gracias a un procedimiento "Do Until...Loop". El resultado se obtiene cuando el usuario pulsa Command1, pero el problema reside en que desconozco cual es último elemento de la matriz utilizado en esta operación para poder empezar con la siguiente operación desde el último punto utilizado, no desde el principio de la matriz. Os adjunto un poco de código para una mejor comprensión, y os agradeceré vuestra ayuda. Un abrazo, Carlos. (si me podeis contestar a mi e-mail mejor). Muchisimas gracias......
-------------------------------------------
Private Sub Command1_Click()
Static A(0 To 719) As Double ' Matriz que contiene 720 elementos
A(0) = 0.654123987
A(1) = 0.456987123
A(2) = 0.796325841
A(3) = 0.216345853
'....muchas más....
A(717) = 0.256312553
A(718) = 0.852165425
A(719) = 0.536485642
Dim N As Double
Dim P As Double
'------
For N = A(1) To A(719)
Next N
Do Until P >= Text3.Text ' campo donde el usuario introduce una cifra
P = A(0) + N
N = P
Loop
Text10.Text = N ' campo donde se devuelve el valor solicitado
' AQUÍ ES DONDE NECESITO SABER CUAL ES EL ÚLTIMO VALOR UTILIZADO
' PARA PODER REPETIR LA OPERACIÓN DESDE DICHO ÚLTIMO NÚMERO
End Sub
-------------------------------------------
Private Sub Command1_Click()
Static A(0 To 719) As Double ' Matriz que contiene 720 elementos
A(0) = 0.654123987
A(1) = 0.456987123
A(2) = 0.796325841
A(3) = 0.216345853
'....muchas más....
A(717) = 0.256312553
A(718) = 0.852165425
A(719) = 0.536485642
Dim N As Double
Dim P As Double
'------
For N = A(1) To A(719)
Next N
Do Until P >= Text3.Text ' campo donde el usuario introduce una cifra
P = A(0) + N
N = P
Loop
Text10.Text = N ' campo donde se devuelve el valor solicitado
' AQUÍ ES DONDE NECESITO SABER CUAL ES EL ÚLTIMO VALOR UTILIZADO
' PARA PODER REPETIR LA OPERACIÓN DESDE DICHO ÚLTIMO NÚMERO
End Sub
Valora esta pregunta


0