Digite a seguinte macro de eventos na área de código da planilha de Sheet2
:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim A As Range
Set A = Range("A5:A10")
If Intersect(Target, A) Is Nothing Then Exit Sub
Cancel = True
Application.EnableEvents = False
Target.Copy Sheets("Sheet1").Range("C3")
Application.EnableEvents = True
End Sub
Observe que o código usa Sheet1 em vez de Folha 1 . (mude isto se você estiver usando Sheet 1
)
Por ser um código de planilha, é muito fácil 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:
Para permitir que a macro deposite dados em uma planilha de proteção:
- Desproteger a planilha
- Desbloquear células específicas, como C3
- Proteger novamente a planilha
Isso permitirá que a macro (e o usuário) insira dados na Planilha e ainda proteja fórmulas, etc.
EDIT # 2:
Para evitar a cópia do formato, use isso:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim A As Range
Set A = Range("A5:A10")
If Intersect(Target, A) Is Nothing Then Exit Sub
Cancel = True
Application.EnableEvents = False
Target.Copy
Sheets("Sheet1").Range("C3").PasteSpecial Paste:=xlPasteValues
Application.EnableEvents = True
End Sub
Para "dar o pontapé inicial" à rotina após um erro, coloque esta macro em um módulo padrão e execute-a:
Sub qwerty()
Application.EnableEvents = True
End Sub