Assim que um valor é inserido em uma célula, qualquer fórmula nessa célula será substituída. Você pode usar uma rotina VBA para restaurar a fórmula. Seus requisitos devem incluir a lógica para o que tem precedência, ou seja, em que casos uma fórmula deve ser usada e em que casos o número digitado manualmente "ganha".
O código a seguir funciona nessas premissas:
- a célula A2 ou A3 é alterada
- Tanto A2 quanto A3 devem ter valores
Assim, quando A2 ou A3 são editados E ambas as células contêm um valor, a macro irá escrever = A2 + A3 na célula A4. Se algum dos valores em A2 ou A3 for texto, a macro ainda será executada e o Excel mostrará a mensagem de erro para adicionar texto com números. Use Sum () para evitar a mensagem de erro.
Se a célula A4 for editada e a fórmula for sobrescrita, esse valor será exibido até que A2 ou A3 sejam editados novamente.
Se isso não corresponder aos seus requisitos, escreva-os com mais detalhes.
O código vai para o módulo Sheet (clique com o botão direito do mouse na guia sheet, clique em "View code", cole o código na área do código grande).
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A2:A3")) Is Nothing Then
If WorksheetFunction.Count(Range("A2:A3")) = 2 Then
Range("A4").Formula = "=A2+A3"
End If
End If
End Sub