Error en tiempo de ejecución
Estoy realizando un programa que calcula estadísticas básicas (media aritmética, mediana, varianza, etc...)
El programa tiene la siguiente estructura:
Una pantalla para colocar los datos
Un botón llamado calculo
Un botón llamado salida, que te lleva a otra pantalla donde muestra los resultados.
Al principio el programa corría perfectamente, luego le coloque un arreglo para que el programa ordenada los datos de menor a mayor ya que, dentro de los cálculos a realizar esta el calculo de la mediana. Ahora cuando clickeo en el botón calculo me genera el siguiente error:
"Error '9' en tiempo de ejecución: El subíndice esta fuera del intervalo"
Cuando le doy a depurar, resalta una parte del código en amarillo
Este es el código:
Private Sub Cmd_Calculo_Click()
sw2 = 1
I = 0: SUMX1 = 0: SUMX2 = 0
For I = 1 To N
SUMX1 = SUM1X + X(I)
SUMX2 = SUMX2 + (X(I) * X(I))
Next I
Mx = (SUMX1 / N)
Vx = (SUMX2 / N) - (Mx * Mx)
Dtx = Sqr(Vx)
If Mx <> 0 Then
Cvx = Dtx / Mx
Else
MsgBox "Indeterminacion, el divisor debe ser distinto de cero"
End If
I = 0
Do
I = I + 1
Datos(I) = X(I)
Loop Until I = N
I = 0
Do
I = I + 1
J = I
Do
I = I + 1
If X(I) >= X(J) Then -----> Esto es lo que resalta en amarillo
Vt2 = X(J)
X(J) = X(I)
X(I) = Vt2
End If
Loop Until I = N
Loop Until I = N - 1
Min_X = X(1): Max_X = X(N): Ran_X = X(N) - X(1)
K1 = N / 2: K2 = Int(K1)
If K1 = K2 Then
Md = (X(K2) + X(K2 + K1) / 2)
Else
Md = X(K2)
End If
Cmd_Captura.Enabled = False
Cmd_Calculo.Enabled = False
Cmd_Salida.Enabled = True
End Sub
Las variables son de tipo public y están declaradas en un modulo aparte.
El programa tiene la siguiente estructura:
Una pantalla para colocar los datos
Un botón llamado calculo
Un botón llamado salida, que te lleva a otra pantalla donde muestra los resultados.
Al principio el programa corría perfectamente, luego le coloque un arreglo para que el programa ordenada los datos de menor a mayor ya que, dentro de los cálculos a realizar esta el calculo de la mediana. Ahora cuando clickeo en el botón calculo me genera el siguiente error:
"Error '9' en tiempo de ejecución: El subíndice esta fuera del intervalo"
Cuando le doy a depurar, resalta una parte del código en amarillo
Este es el código:
Private Sub Cmd_Calculo_Click()
sw2 = 1
I = 0: SUMX1 = 0: SUMX2 = 0
For I = 1 To N
SUMX1 = SUM1X + X(I)
SUMX2 = SUMX2 + (X(I) * X(I))
Next I
Mx = (SUMX1 / N)
Vx = (SUMX2 / N) - (Mx * Mx)
Dtx = Sqr(Vx)
If Mx <> 0 Then
Cvx = Dtx / Mx
Else
MsgBox "Indeterminacion, el divisor debe ser distinto de cero"
End If
I = 0
Do
I = I + 1
Datos(I) = X(I)
Loop Until I = N
I = 0
Do
I = I + 1
J = I
Do
I = I + 1
If X(I) >= X(J) Then -----> Esto es lo que resalta en amarillo
Vt2 = X(J)
X(J) = X(I)
X(I) = Vt2
End If
Loop Until I = N
Loop Until I = N - 1
Min_X = X(1): Max_X = X(N): Ran_X = X(N) - X(1)
K1 = N / 2: K2 = Int(K1)
If K1 = K2 Then
Md = (X(K2) + X(K2 + K1) / 2)
Else
Md = X(K2)
End If
Cmd_Captura.Enabled = False
Cmd_Calculo.Enabled = False
Cmd_Salida.Enabled = True
End Sub
Las variables son de tipo public y están declaradas en un modulo aparte.
1 Respuesta
Respuesta de calvuch
1