1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Informação: Pela 0:30 desta Sexta-feira (9 de Dezembro, 23:30 de Quinta-feira nos Açores) o Fórum e restantes sites da ZWAME vão estar offline para manutenção durante cerca de 1h30.
    Se necessário faremos actualizações via Twitter e Facebook.
    Remover anúncio

VBA actualizar valor funçao excel

Discussão em 'Programação' iniciada por ed.j.afonso, 10 de Março de 2008. (Respostas: 6; Visualizações: 2576)

  1. Olá a todos!

    Sou novo no fórum e no mundo da programação... Tenho apenas conceitos muuuito básicos sobre VB.

    Bem, o meu prob é o seguinte: criei uma função (p MSExcel) que funciona bem e tudo mais, mas infelizmente qd altero o valor de uma célula tenho sempre de fazer f2+enter para que a função actualize/faça os cálculos com os novos valores. Como todos sabem isso nao acontece com as funções built-in do excel...

    Se me pudessem ajudar agradecia... Já procurei na net e tal, mas as soluções apresentadas (qd sao apresentadas) nao funcionam...

    Obrigado desde já!

    Cumps
     
  2. kzip

    kzip Power Member

    Experimenta, dentro da função, na primeira linha, colocar:

    Application.Volatile
     
  3. Funcionou!
    Thanks a lot! Andava há horas à procura da resposta...
     
  4. kzip

    kzip Power Member

    fixe! :cool:
    Só deves usar essa instrução quando for mesmo necessário, porque tem algum impacto nos recálculos.
     
  5. Já agora, que tipo de impacto?...
    Tkx
     
  6. kzip

    kzip Power Member

    Sempre que alteras o valor de uma qualquer célula, o excel automaticamente recalcula as fórmulas (que ele acha que podem estar desactualizadas).

    Se a tua função for muito complexa (imagina que demora 1 segundo a ser processada), e a usares diversas vezes (por exemplo em 50 linhas), sempre que alterares um valor o excel vai demorar 1x50segundos a recalcular.

    Claro que funções simples demoram.... milissegundos....:)
     
  7. Obrigado pela explicação...
    A função em causa é muito simples... por isso o impacto deve ser minimo...
    Mais uma vez obrigado...
     

Partilhar esta Página