Facturas y monedas en Excel VBA

Buenos días, mi nombre es Miguel y hoy os traigo un nuevo artículo.

A continuación veremos un programa en Excel VBA que divide una cantidad de dinero en billetes y monedas.

Localización:

Facturas y monedas en Excel VBA

Cree un evento de cambio de hoja de trabajo. Excel VBA ejecutará el código agregado al evento de cambio de la hoja de trabajo cuando cambie una celda en una hoja de trabajo.

1. Abra el Editor de Visual Basic.

2. Haga doble clic en Sheet1 en el Explorador de hojas.

3. Elija Hoja de trabajo en la lista desplegable de la izquierda. Elija Cambiar en la lista desplegable de la derecha.

Evento de cambio de hoja de trabajo en Excel VBA

Agregue las siguientes líneas de código al evento de cambio de la hoja de trabajo:

4. Declare una variable llamada cantidad de tipo Double y una variable i de tipo Integer.

Oscuro cantidad Cómo Doble, me Cómo Entero

5. El evento de cambio de hoja de trabajo escucha todos los cambios en Sheet1. Solo queremos que Excel VBA haga algo si algo cambia en la celda B2. Para hacer esto, agregue la siguiente línea de código:

Target.Address = "$ B $ 2" Entonces

6. Inicializamos la variable cantidad con el valor de la celda B2.

cantidad = Rango ("B2"). Valor

7. Vaciamos el rango con las frecuencias.

Intervalo ("B5: B16"). Valor = ""

8. Ahora es el momento de dividir la cantidad de dinero depositada. Comenzamos un ciclo For Next.

Para i = 5 Para dieciséis

9. Usaremos la estructura Do While Loop. El código colocado entre estas palabras se repetirá siempre que el reverso de Do While sea verdadero. Queremos que Excel VBA repita las líneas de código en el paso 10 siempre que la cantidad sea mayor o igual a Cells (i, 1) .value.

Hacer Mientras cantidad> = Celdas (i, 1) .Valor

Lazo

10. Agregue las siguientes líneas de código al ciclo Hacer mientras.

Celdas (i, 2) .Valor = Celdas (i, 2) .Valor + 1
cantidad = cantidad - Celdas (i, 1) .Valor

Explicación: Siempre que la cantidad sea mayor o igual al valor de las celdas (i, 1), la cantidad contiene billetes / monedas de este valor. Como resultado, Excel VBA aumenta la frecuencia de esta factura / moneda (primera línea) y resta el valor de la factura / moneda del monto (segunda línea). Este proceso se repetirá hasta que la cantidad sea menor que el valor de las celdas (i, 1). Luego, Excel VBA aumenta, es decir, pasa a la siguiente factura / moneda para ver cuántas veces esta factura / moneda se ajusta al monto restante. De esta forma, la cantidad de dinero se dividirá en billetes y monedas hasta que no quede dinero para dividir.

11. Cierre el ciclo For Next y asegúrese de cerrar la instrucción if (ambos fuera del ciclo Do While).

Entonces me
Aleta si

12. Pruebe el programa.

Resultado:

Resultado de facturas y monedas

Nota: Por supuesto, la cantidad ingresada no necesariamente contiene todos los billetes / monedas. Si el monto no contiene una factura / moneda en particular, la parte posterior a Do While nunca se vuelve verdadera para esta factura / moneda y Excel VBA pasa directamente a la siguiente factura / 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