300 Ejemplos

Billetes y monedas

Bills Coins

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

Situación:



obtener el mes y el año a partir de la fecha en Excel

Billetes 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 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 (Sheet1) en el Explorador de proyectos.

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



cómo eliminar valores atípicos en Excel

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.

NingunoMontoComo Doble, IComo Entero

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

SiTarget.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.

Rango ('B5: B16'). Valor = ''

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

Parai = 5A16

9. Haremos uso del Hacer mientras bucle estructura. El código colocado entre estas palabras se repetirá siempre que la parte posterior a Do While sea verdadera. 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 Mientrascantidad> = Celdas (i, 1) .Valor

Lazo

10. Agregue las siguientes líneas de código al bucle Do While.

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 incrementa la frecuencia de este billete / moneda (primera línea) y resta el valor del billete / moneda de la cantidad (segunda línea). Este proceso se repetirá hasta que la cantidad sea menor que Cells (i, 1) .value. A continuación, Excel VBA incrementa iy pasa al siguiente billete / moneda para ver cuántas veces este billete / moneda cabe en la cantidad restante. De esta manera, la cantidad de dinero se dividirá en billetes y monedas hasta que ya no quede dinero para dividir.

11. Cierre el ciclo For Next y no olvide cerrar la instrucción if (ambas fuera del ciclo Do While).

PróximoI
Fin si

12. Pruebe el programa.

¿Qué cuenta la función de conteo?

Resultado:

Resultado de billetes y monedas

Nota: por supuesto, la cantidad ingresada no necesariamente contiene todos los billetes / monedas. Si el monto no contiene un determinado billete / moneda, la parte posterior a Do While nunca se vuelve verdadera para este billete / moneda y Excel VBA pasa directamente al siguiente billete / moneda.

5/6 Completado! Aprenda mucho más sobre eventos>
Ir al capítulo siguiente: Formación



^