About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2008-04-03

C. Moreira, enviou-me uma folha de cálculo, na qual pretendia o seguinte:

Alterar o mês em A1 e o valor em B1. Se o mês for Janeiro, Fevereiro ou Março, as células D1, D2 e D3 assumem o valor de B1, caso contrário ficam com os valores que apresentam.

Apresentou então o exemplo:

image

E forneceu a solução, ou seja, com a utilização da chamada "referência circular".

Vejamos, então, como foi feito:

Em D1, digitou: =IF(A1="Janeiro";B1;D1)

Em D2: =IF(A1="Fevereiro";B1;D2)

Em D3: =IF(A1="Março";B1;D3)

Depois, fez o seguinte:

image

Como se pode ver, sempre que em A1 se coloque o mês, o valor transfere-se para a coluna D, para a célula que corresponde ao mês digitado.

  Comentário:

O único problema da referência circular é que, se for aberto outro workbook antes deste, aparece, por defeito, o facto de não haver referência circular. Logo, quando se abre o 2º workbook (que tem a tal referência circular) vai aparecer sempre uma mensagem de aviso...

Claro que há uma maneira de resolver o problema e fazer com que a referência circular fique por defeito, mesmo que se abra outro qualquer workbook primeiro: é colocar a seguinte macro no próprio workbook:

Private Sub Workbook_Open()
Application.Iteration = True
End Sub



Deste modo, sempre que o workbook seja aberto, vai ler, à abertura, a macro acima e, assim, activa referência circular.





Tópicos relacionados: