Insira a seguinte Macro de eventos na área de código da planilha:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A2 As Range
Set A2 = Range("A2")
If Intersect(A2, Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
[A4] = [A2] + [A3]
Application.EnableEvents = True
End Sub
Por ser um código de planilha, é muito fácil de instalar e usar automaticamente:
- clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
- selecione Exibir código - isso abre uma janela do VBE
- cole o material e feche a janela do VBE
Se você tiver alguma dúvida, tente primeiro em uma planilha de teste.
Se você salvar a pasta de trabalho, a macro será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx
Para remover a macro:
- abrir as janelas do VBE como acima
- limpe o código
- feche a janela do VBE
Para saber mais sobre macros em geral, consulte:
e
Para saber mais sobre macros de eventos (código da planilha), consulte:
As macros devem estar ativadas para que isso funcione!
EDIT # 1:
Primeiro, descarte a macro anterior e substitua-a por esta:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim A2 As Range
Set A2 = Range("A2")
If Intersect(Target, A2) Is Nothing Then Exit Sub
Cancel = True
[A4] = [A2] + [A3]
A2.Font.Bold = True
End Sub
Isso afeta apenas o comportamento de clique duplo em A2 . O código pode ser facilmente expandido para cobrir outras células ou intervalos.
EDIT # 2:
Nesta versão, clique duas vezes em A2 para confirmar A2 . Clicar duas vezes A3 não confirma A2 :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim A2 As Range, boo As Boolean, A3 As Range
Set A2 = Range("A2")
Set A3 = Range("A3")
If Not Intersect(Target, A2) Is Nothing Then
[A4] = [A2] + [A3]
A2.Font.Bold = True
Cancel = True
End If
If Not Intersect(Target, A3) Is Nothing Then
A2.Font.Bold = False
[A4] = [A3]
Cancel = True
End If
End Sub
EDIT # 3:
O uso desta macro estende a funcionalidade para colunas além da coluna A :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rw2 As Range, rw3 As Range, kolumn As Long
Set rw2 = Range("2:2")
Set rw3 = Range("3:3")
kolumn = Target.Column
If Not Intersect(Target, rw2) Is Nothing Then
Cells(4, kolumn) = Cells(2, kolumn) + Cells(3, kolumn)
Cells(2, kolumn).Font.Bold = True
Cancel = True
End If
If Not Intersect(Target, rw3) Is Nothing Then
Cells(2, kolumn).Font.Bold = False
Cells(4, kolumn) = Cells(3, kolumn)
Cancel = True
End If
End Sub