Excel VBA Volatile Functions - Easy Excel Macros

Índice

Por padrão, UDFs (funções definidas pelo usuário) em Excel VBA não são voláteis. Eles são recalculados apenas quando qualquer um dos argumentos da função muda. UMA função volátil será recalculado sempre que o cálculo ocorrer em qualquer célula da planilha. Vamos dar uma olhada em um exemplo fácil para explicar isso um pouco mais.

1. Abra o Editor do Visual Basic e clique em Inserir, Módulo.

Crie uma função chamada MYFUNCTION que retorna a soma da célula selecionada e a célula abaixo desta célula.

2. Adicione as seguintes linhas de código:

Função MYFUNCTION (célula como intervalo)
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value
Função Final

3. Agora você pode usar esta função, como qualquer outra função do Excel.

4. Esta é uma função não volátil. As funções não voláteis são recalculadas apenas quando qualquer um dos argumentos da função muda. Altere o valor da célula B2 para 8.

5. Agora mude o valor da célula B3 para 11.

Explicação: a função não volátil não é recalculada quando qualquer outra célula da planilha muda.

6. Atualize a função da seguinte forma para torná-la volátil:

Função MYFUNCTION (célula como intervalo)
Application.Volatile
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value
Função Final

7. Altere o valor da célula B3 para 12.

Resultado:

Observação: você precisa inserir a função novamente para torná-la volátil (ou atualize-a colocando o cursor na barra de fórmulas e pressionando enter).

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

wave wave wave wave wave