Conversor de moneda en Excel VBA

Buenas, me llamo Miguel y durante el dia de hoy os traigo un nuevo artículo.

A continuación veremos un programa en Excel VBA que crea un formulario de usuario que convierte cualquier cantidad de uno divisa en otro.

El formulario de usuario que vamos a crear se ve así:

Conversor de moneda en Excel VBA

Para crear este formulario de usuario, realice los siguientes pasos.

1. Abra el Editor de Visual Basic. Si el Explorador de proyectos no está visible, haga clic en Ver, Explorador de proyectos.

2. Haga clic en Insertar, formulario de usuario. Si la caja de herramientas no aparece automáticamente, haga clic en Ver, caja de herramientas. Su pantalla debe configurarse de la siguiente manera.

Visualización de la pantalla del formulario de usuario en Excel VBA

3. Agregue las etiquetas, cuadros de lista (primero a la izquierda, segundo a la derecha), cuadros de texto (primero a la izquierda, segundo a la derecha) y el botón de comando. Una vez completado, el resultado debe ser coherente con la imagen del formulario de usuario que se muestra arriba. Por ejemplo, cree un control de cuadro de lista haciendo clic en ListBox en el cuadro de herramientas. A continuación, puede arrastrar un cuadro de lista al formulario de usuario.

4. Puede cambiar los nombres y subtítulos de los controles. Los nombres se utilizan en el código Excel VBA. Los subtítulos son los que aparecen en pantalla. Es una buena práctica cambiar el nombre de los controles, pero no es necesario aquí porque solo tenemos algunos controles en este ejemplo. Para cambiar el título del formulario de usuario, el botón de comando y las etiquetas, haga clic en Ver, Ventana Propiedades y haga clic en cada control.

5. Para mostrar el formulario de usuario, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Privado Sub CommandButton1_Click ()

UserForm1.Show

Aleta Sub

Ahora creemos el Sub UserForm_Initialize. Cuando utilice el método Show para el formulario de usuario, se ejecutará automáticamente.

6. Abra el Editor de Visual Basic.

7. En el Explorador de proyectos, haga clic con el botón secundario en UserForm1 y, a continuación, haga clic en Ver código.

8. Elija Formulario de usuario en la lista desplegable de la izquierda. Elija Inicializar en la lista desplegable de la derecha.

9. Agregue las siguientes líneas de código:

Privado Sub UserForm_Initialize ()

Con ListBox1
.AddItem "Euro"
.AddItem "Dólar estadounidense"
.AddItem "Libra esterlina"
Aleta Con

Con ListBox2
.AddItem "Euro"
.Añadir elemento "Dólar estadounidense"
.AddItem "Libra esterlina"
Aleta Con

ListBox1.ListIndex = 1
ListBox2.ListIndex = 0

TextBox1.Value = 1
TextBox2.Value = 0.722152

Aleta Sub

Explicación: Primero, complete los dos cuadros de lista. La moneda del dólar estadounidense se establece como predeterminada en el primer cuadro de lista y la moneda EURO se establece como predeterminada en el segundo cuadro de lista. Finalmente, se ingresa el valor 1 en el primer cuadro de texto y el valor 0.722152 se ingresa en el segundo cuadro de texto.

Ahora hemos creado la primera parte del formulario de usuario. Aunque parece que ya está ordenado, no pasará nada cuando hagamos clic en el botón Ir.

10. En el Explorador de proyectos, haga doble clic en UserForm1.

11. Haga doble clic en el botón Ir.

12. Agregue las siguientes líneas de código:

Privado Sub CommandButton1_Click ()

Oscuro tarifas (0 Para 2, 0 Para 2) Cómo Doble, me Cómo Entero, j Cómo Entero

tasas (0, 0) = 1
tasas (0, 1) = 1.38475
tasas (0, 2) = 0,87452

tasas (1.0) = 0.722152
tasas (1, 1) = 1
tasas (1, 2) = 0,63161

tasas (2.0) = 1.143484
tasas (2, 1) = 1.583255
tasas (2, 2) = 1

Para i = 0 Para 2
Para j = 0 Para 2
ListBox1.ListIndex = i mi ListBox2.ListIndex = j Entonces TextBox2.Value = TextBox1.Value * tarifas (i, j)
Entonces j
Entonces me

Aleta Sub

Explicación: Primero declaramos una matriz. La matriz tiene dos dimensiones. Consta de 3 filas y 3 columnas. A continuación, inicializamos cada elemento de la matriz. Por ejemplo, la tasa (1.0) es la tasa de cambio del dólar estadounidense al EURO. Luego comenzamos un ciclo doble. Dependiendo de las monedas seleccionadas en los cuadros de lista, Excel VBA convierte la cantidad ingresada en el primer cuadro de texto y muestra el resultado en el segundo cuadro de texto.

Ejemplo: si i = 2 ej = 1 e ingresamos el valor 2 en el primer cuadro de texto, Excel VBA coloca el valor 2 * tarifas (2.1) = 2 * 1.583255 = 3.16651 en el segundo cuadro de texto.

13. Pruebe el formulario de usuario.

Resultado:

Resultado del convertidor de moneda

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página utiliza Cookies. Más info