Contas e moedas no Excel VBA - Macros fáceis do Excel

Índice

Abaixo, veremos um programa em Excel VBA que divide uma quantia de dinheiro em notas e moedas.

Situação:

Crie um evento de alteração da planilha. O código adicionado ao Evento de Alteração da Planilha será executado pelo Excel VBA quando você alterar uma célula em uma planilha.

1. Abra o Editor do Visual Basic.

2. Clique duas vezes em Plan1 (Plan1) no Project Explorer.

3. Escolha Planilha na lista suspensa à esquerda. Escolha Alterar na lista suspensa à direita.

Adicione as seguintes linhas de código ao evento de alteração da planilha:

4. Declare uma variável chamada quantidade do tipo Double e uma variável i do tipo Integer.

Dim amount As Double, i As Integer

5. O evento de alteração da planilha escuta todas as alterações na Planilha1. Só queremos que o Excel VBA faça algo se algo mudar na célula B2. Para fazer isso, adicione a seguinte linha de código:

Se Target.Address = "$ B $ 2" Então

6. Inicializamos a quantidade variável com o valor da célula B2.

 montante = intervalo ("B2"). Valor

7. Esvaziamos a faixa com as frequências.

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

8. Agora é hora de dividir a quantia de dinheiro inserida. Começamos um loop For Next.

Para i = 5 a 16

9. Faremos uso da estrutura Do While Loop. O código colocado entre essas palavras será repetido enquanto a parte após Do While for verdadeira. Queremos que o Excel VBA repita as linhas de código na etapa 10, desde que a quantidade seja maior ou igual a Células (i, 1) .valor.

Quantidade de Do While> = Células (i, 1) .Valor
Ciclo

10. Adicione as seguintes linhas de código ao Do While Loop.

Células (i, 2). Valor = Células (i, 2). Valor + 1
quantidade = quantidade - Células (i, 1) .Valor

Explicação: desde que o valor seja maior ou igual ao valor Células (i, 1), o valor contém notas / moedas desse valor. Como resultado, o Excel VBA incrementa a frequência dessa nota / moeda (primeira linha) e subtrai o valor da nota / moeda do valor (segunda linha). Este processo será repetido até que a quantidade se torne menor do que Células (i, 1) .valor. Em seguida, o Excel VBA incrementa ie vai para a próxima nota / moeda para ver quantas vezes essa nota / moeda cabe no valor restante. Dessa forma, a quantidade de dinheiro será dividida em notas e moedas até que não haja mais dinheiro para dividir.

11. Feche o loop For Next e não se esqueça de fechar a instrução if (ambos fora do loop Do While).

 Proximo eu
Fim se

12. Teste o programa.

Resultado:

Observação: é claro que o valor inserido não contém necessariamente todas as notas / moedas. Se o valor não contiver uma determinada nota / moeda, a parte após Do While nunca se tornará verdadeira para esta nota / moeda e o Excel VBA irá diretamente para a próxima nota / moeda.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave