É simples, sim, mas um pouco trabalhoso. Cheguei a uma solução aqui e talvez atenda. Vamos lá:
No editor VBA, abra o código da pasta de trabalho (EstaPastaDeTrabalho) e digite:
Public sht As Worksheet
Public x1 As Long
Public x2 As Long
Sub Workbook_Open()
Set sht = Sheets(1) 'Coloca-se aqui a planilha em que está a variável
x1 = sht.Range("A20").Value
x2 = sht.Range("B20").Value
sht.Range("A10").Value = x1
sht.Range("B10").Value = x2
End Sub
E no código da planilha em si (no meu caso, Planilha1):
Sub Worksheet_Change(ByVal Target As Range)
If Range("A10").Value <> ThisWorkbook.x1 Then
Range("A10").Value = ThisWorkbook.x1
End If
If Range("B10").Value <> ThisWorkbook.x2 Then
Range("B10").Value = ThisWorkbook.x2
End If
End Sub
Ao abrir a pasta de trabalho, o código automaticamente assume em duas variáveis (x1 e x2) os valores que estavam em A20 e B20 da planilha. Além disso, o segundo código objetiva checar, a cada alteração, os valores de A10 e B10, e caso esteja divergente o valor, ele faz a alteração.
Postado : 04/04/2018 10:43 pm