Questão Aumentar uma célula pela mesma quantidade que outra célula é aumentada por


Se por exemplo - eu tenho £ 9,50 na célula A1 e £ 6,50 na célula A2.

Se eu aumentar manualmente a célula A2 em £ 0,50, tornando-a £ 7,00, então eu preciso da célula A1 para aumentar automaticamente em 0,50 também.

Isso pode ser feito por fórmula e, em caso afirmativo, qual é a fórmula?


0


origem


O aumento de 0,50 € é feito manualmente, ou seja, você está digitando manualmente um novo número nessa célula ou está sendo aumentado como resultado de uma fórmula que atua nessa célula? - Rob


Respostas:


Não, isso não pode ser feito com uma fórmula. Eu nem acho que isso pode ser feito com o VBA, porque assim que você sobrescreve o 6.50 com o 7.00, não há nenhuma referência para o valor da célula antes da mudança, portanto, não há como descobrir que a diferença entre antes e depois é 0,50. Para fazer isso, você teria que manter um histórico dos valores da célula em algum lugar, o que é um projeto complicado.

Você pode querer refazer sua abordagem.

Tem os dois valores em A1 e A2. Em B1 digite 0,5

Em C1, digite =A1+$B$1

Copie para baixo para C2

O valor inserido em B1 será adicionado a A1 e A2 e os respectivos resultados serão exibidos em C1 e C2.


2



Acho que você pode fazer o truque usando o evento workbook_selectionchanged em uma macro (lembre-se do valor atual e, uma vez alterado, aja de acordo). Mas eu recomendaria refazer sua abordagem como Teylyn sugeriu. Deve resultar na melhor solução. - TheUser1024
@ TheUser1024, eu acho que você quer dizer o evento Worksheet_change. Mas isso só será disparado APÓS a célula ter sido alterada e não poderá fazer referência ao valor que a célula tinha antes da alteração. Há também o evento Worksheet_SelectionChange que pode ser usado para copiar o valor da célula selecionada para uma variável temporária, mas e se o usuário não alterar a seleção, apenas ficar na A1 e continuar inserindo números? Como eu disse acima, manter um histórico de entradas de células anteriores é um pouco mais complexo. - teylyn