Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Convertor de Tipo de Cambio 21 150x150, Ejemplo de Select Case y If ... Then aplicado a la conversión de Tipo de cambio

Ejemplo de Select Case y If ... Then aplicado a la conversión de Tipo de cambio

| 1 comentario

En este ejemplo, se presenta la aplicación de Select Case y If ... then en un conversor de tipo de cambio, en el cual se puede convertir una cantidad de Dólares, Euros, Yenes o Nuevos Soles a cualquiera de estas ya mencionadas.

Para realizar, se necesitan llenar 3 espacios: la cantidad que se desea convertir, la moneda inicial que se desea convertir y la moneda a la que se desea convertir la cantidad inicialmente ingresada. Para este trabajo, elegí trabajar con cuadros de texto. En el primer caso, el número es llenado y almacenado para ser luego operado. El tipo de moneda inicial y final pueden ser elegidos ingresando en el cuadro de texto el número de opción que le corresponda al tipo de moneda elegido (1: Dólares Norteamericanos, 2: Euros, 3: Yenes, 4: Nuevos Soles). Finalmente, se presiona el botón "convertir cantidad" y se obtendrá en la parte inferior el cálculo realizado.

Convertor de Tipo de Cambio 1, Ejemplo de Select Case y If ... Then aplicado a la conversión de Tipo de cambio

A continuación, dejo el convertor en lenguaje vba para poder ser replicado en el EVB.

_____________________________________________________________________________________________

Private Sub Workbook_Open()
MsgBox "Introducir un valor para 'Cantidad' y elegir una opción numérica (entre 1 y 4) para la 'Moneda Inicial' y la 'Moneda a Convertir' para ejecutar el cálculo"
UserForm1.Show
End Sub
_____________________________________________________________________________________________

Private Sub CommandButton1_Click()

c = Val(TextBox1.Text)
moneda = Val(TextBox2.Text)
vmc = Val(TextBox3.Text)
mc = Val(TextBox3.Text)

Select Case moneda
Case 1: moneda = 2.582
Case 2: moneda = 3.357
Case 3: moneda = 0.027
Case 4: moneda = 1
Case 5 To 20000: MsgBox "Número inválido. Ingresar un número entre 1 y 4."
End Select

Select Case vmc
Case 1: vmc = 2.582
Case 2: vmc = 3.357
Case 3: vmc = 0.027
Case 4: vmc = 1
Case 5 To 20000: MsgBox "Número inválido. Ingresar un número entre 1 y 4."
End Select

Select Case mc
Case 1: mc = "Dólares N.A."
Case 2: mc = "Euros"
Case 3: mc = "Yenes"
Case 4: mc = "Nuevos Soles"
Case 5 To 20000: MsgBox "Número inválido. Ingresar un número entre 1 y 4."
End Select

cc = moneda * c / vmc

TextBox4.Text = cc
TextBox5.Text = mc
End Sub

____________________________________________________________________________________________________

Asimismo, es posible replicar el cuadro aterior con otro formato usando la función "if ... then".

Primero, llenamos en una hoja de Excel los datos que necesitamos para comenzar a realizar los cálculos: nombre de las monedas y su equivalencia en Nuevos Soles.

cuadro 1 1, Ejemplo de Select Case y If ... Then aplicado a la conversión de Tipo de cambio

Luego, enlazamos la página a la lista desplegable que queremos poner en el cuadro de conversión:

Private Sub UserForm_Activate()

UserForm1.ComboBox1.RowSource = "Hoja1!A2:A5"
UserForm1.ComboBox2.RowSource = "Hoja1!A2:A5"

End Sub

De manera similar, también se deben llenar estos 3 espacios necesarios para poder realizar la conversión. De esta manera, se puede lograr un cuadro como este:

Convertor de Tipo de Cambio 21, Ejemplo de Select Case y If ... Then aplicado a la conversión de Tipo de cambio

A continuación, dejo el conversor en lenguaje vba para poder ser replicado en el EVB.

_____________________________________________________________________________________________

Private Sub Workbook_Open()
MsgBox "Introducir los valores: Cantidad, Moneda Inicial y Moneda a Convertir para ejecutar el cálculo"
UserForm1.Show
End Sub
_____________________________________________________________________________________________

Private Sub CommandButton1_Click()

c = Val(TextBox1.Text)
mi = ComboBox1.Text
mc = ComboBox2.Text

If ComboBox1.Text = "Dólares N.A." Then
moneda = 2.582
End If

If ComboBox1.Text = "Euros" Then
moneda = 3.357
End If

If ComboBox1.Text = "Yenes" Then
moneda = 0.027
End If

If ComboBox1.Text = "Nuevos Soles" Then
moneda = 1
End If

If ComboBox2.Text = "Dólares N.A." Then
vmc = 2.582
End If

If ComboBox2.Text = "Euros" Then
vmc = 3.357
End If

If ComboBox2.Text = "Yenes" Then
vmc = 0.027
End If

If ComboBox2.Text = "Nuevos Soles" Then
vmc = 1
End If

cc = moneda * c / vmc

TextBox2.Text = cc
TextBox3.Text = ComboBox2.Text
End Sub

____________________________________________________________________________________________________

Un comentario

Deja una respuesta

Los campos requeridos estan marcados con *.