Você não pode fazer isso sem uma macro. Este código deve funcionar:
Private Sub Worksheet_Change(ByVal Target As Range)
therow = 1
thecolumn = 1
Dim wks As Worksheet
cellrow = Target.Row
cellcolumn = Target.Column
If (cellrow = therow And cellcolumn = thecolumn) Then
Set wks = ThisWorkbook.Worksheets("Sheet2")
wks.Cells(cellrow, cellcolumn) = Target.Value
End If
End Sub
Abra macros com ALT + F11 , clique duas vezes em Folha1 no lado esquerdo e cole o código no lado direito. Esse código é executado em Sheet 1
, então copia as alterações em Sheet1 A1
para Sheet2 A1
.
Toda vez que há uma alteração na planilha, essa macro é executada. Ele verifica se a célula alterada está na linha 1 e na coluna 1 (célula A1) e copia o valor na mesma célula em Folha2 .
Se você quiser verificar as alterações de Folha2 para Folha1 também, então:
- Clique duas vezes em Folha2 no lado esquerdo.
- Cole o código no lado direito.
- Altere a linha
Set wks = ThisWorkbook.Worksheets("Sheet2")
para indicar o novo destino: Set wks = ThisWorkbook.Worksheets("Sheet1")
.
Neste momento, esta macro usa as variáveis therow e a coluna para tomar a decisão de copiar o valor para a outra planilha. No início, eles são definidos como 1 nas linhas therow=1
e thecolumn=1
, o que significa que estamos interessados na célula A1 . Além disso, verificamos se a célula modificada corresponde a esses valores na linha If (cellrow = therow And cellcolumn = thecolumn) Then
.
Você pode modificar os valores para personalizá-lo de acordo com suas necessidades, mesmo verificando uma coluna ou linha completa, por exemplo:
A alteração da linha de verificação para If (cellcolumn = thecolumn) Then
copia as alterações que ocorrem na coluna que têm o mesmo valor que a variável thecolumn
, independentemente da linha.
Outro exemplo:
A alteração da linha de verificação para If (cellcolumn > thecolumn) Then
copiará as alterações que ocorrerem em qualquer coluna maior que o valor de thecolumn
, independentemente de qual linha seja.