Unidad 4. VBA. Más estructuras (IX)



Ejemplo 21

Escriba un procedimiento que resuelva el problema planteado en el ejemplo de la página 31, usando arreglos. Ingrese los datos, separados por coma.

Sub Arreglo03()

Dim I, N As Integer

Dim SX, SX2, SY, SXY, Bo, B1 As Double

Dim MX, MY As Variant

'   Inicialización de las sumas

SX = 0: SY = 0: SX2 = 0: SXY = 0

'   Ingreso del número de datos

N = InputBox("Ingrese el número de datos a procesar")

For I = 1 To N

    Cadena = InputBox("Ingrese el para de datos")

    L = Len(Cadena)

'   Extrae el primer número y almacena en el vector MatY

    Y = ""

    Xc = Mid(Cadena, 1, 1)

    JPos = 1

    While Xc <> ","

        Y = Y + Xc

        JPos = JPos + 1

        Xc = Mid(Cadena, JPos, 1)

    Wend

    MatY(I) = Val(Y)

'   Extrae el segundo número y lo almacena en el vector MatX

    X = ""

    JPos = JPos + 1

    Xc = Mid(Cadena, JPos, 1)

    While JPos <= L

        X = X + Xc

        JPos = JPos + 1

        Xc = Mid(Cadena, JPos, 1)

    Wend

    MatX(I) = Val(X)

Next

'   Cálculos

For I = 1 To N

    SX = SX + MatX(I)

    SY = SY + MatY(I)

    SXY = SXY + MatX(I) * MatY(I)

    SX2 = SX2 + MatX(I) * MatX(I)

Next

'   Estimacion de los coeficientes

B1 = (N * SXY - SX * SY) / (N * SX2 - SX * SX)

Bo = SY / N - B1 * SX / N

MsgBox ("La ecuación de regresión estimada es:")

MsgBox ("Y = " & Bo & " + " & B1 & " X")

End Sub

Observación:

En el ejemplo anterior, como verá, hemos extraído los caracteres contenido en la variable "cadena", carácter por carácter hasta encontrar ",". Repite el mismo procedimiento para extraer el segundo dato.

Más adelante veremos otra forma de extraer los números (Ver Ejemplo 8 de la sección Objeto Range).

Noviembre-2010
Pág. 4.9

Atrás  Inicio  Adelante





Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies