Média móvel no Excel VBA - Macros fáceis do Excel

Índice

Abaixo, veremos um programa em Excel VBA que cria um tabela de média móvel. Coloque um botão de comando em sua planilha e adicione a seguinte linha de código:

Intervalo ("B3"). Valor = WorksheetFunction.RandBetween (0, 100)

Esta linha de código insere um número aleatório entre 0 e 100 na célula B3. Queremos que o Excel VBA pegue o novo valor do estoque e coloque-o na primeira posição da tabela de média móvel. Todos os outros valores devem ser movidos uma casa para baixo e o último valor deve ser excluído.

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 newvalue do tipo Integer e dois intervalos (firstfourvalues ​​e lastfourvalues).

Dim newvalue As Integer, firstfourvalues ​​As Range, lastfourvalues ​​As Range

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 B3. Para fazer isso, adicione a seguinte linha de código:

Se Target.Address = "$ B $ 3" ​​Então

6. Inicializamos newvalue com o valor da célula B3, firstfourvalues ​​com Range ("D3: D6") e lastfourvalues ​​com Range ("D4: D7").

novo valor = intervalo ("B3"). Valor
Defina os primeiros quatro valores = intervalo ("D3: D6")
Definir lastfourvalues ​​= Range ("D4: D7")

7. Agora vem o truque simples. Queremos atualizar a tabela de média móvel. Você pode conseguir isso substituindo os quatro últimos valores pelos quatro primeiros valores da tabela e colocando o novo valor do estoque na primeira posição.

lastfourvalues.Value = firstfourvalues.Value
Intervalo ("D3"). Valor = novo valor

8. Não se esqueça de fechar a instrução if.

Fim se

9. Finalmente, insira a fórmula = AVERAGE (D3: D7) na célula D8.

10. Teste o programa clicando no botão de comando.

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

wave wave wave wave wave