05 septiembre 2007

Resolución de un sistema de ecuaciones simultaneas usando Visual Basic for Applications (2a parte)

Ahora estamos en condiciones de implementar una solución en VBA. Para este ejemplo, asumiremos que la entrada de datos se dará por medio de un formulario y la salida se dará en la hoja activa en la celda activa del libro de trabajo actual.

Primero debemos insertar un formulario, esto lo haremos desde la Ventana de aplicación de VBA

Al formulario agregaremos 6 cuadros de texto (textbox), 6 etiquetas (labels) y tres botones de comando (commamd buttons), lo que hará que nuestro formulario tenga ahora la siguiente apariencia:



Para resolver la ecuación utilizaremos la fórmula obtenida anteriormente, programemos el botón Ok.

Dentro del botón pongamos el siguiente código:


Private Sub CommandButton1_Click()


Dim a As Integer, b As Integer, c As Integer, _

d As Integer, e As Integer, f As Integer, _

X As Integer, Y As Integer, Cte As Integer

a = Me.TextBox1.Value

b = Me.TextBox2.Value

c = Me.TextBox3.Value

d = Me.TextBox4.Value

e = Me.TextBox5.Value

f = Me.TextBox6.Value

Cte = (a * e) - (b * d)

X = ((c * e) - (b * f)) / Cte

Y = ((a * f) - (d * c)) / Cte

ActiveCell.Select

With Selection

.HorizontalAlignment = xlRight

.VerticalAlignment = xlBottom

.ReadingOrder = xlContext

End With

Selection.Value = "X="

ActiveCell.Offset(0, 1).Select

Selection.Value = X

Selection.Offset(1, -1).Select

With Selection

.HorizontalAlignment = xlRight

.VerticalAlignment = xlBottom

.ReadingOrder = xlContext

End With

Selection.Value = "Y="

ActiveCell.Offset(0, 1).Select

Selection.Value = Y

End Sub
Esto código resolverá culaquier sistema de ecuaciones simultaneas

Etiquetas: , ,