Notifications
Clear all

Ativar macro ao clicar em uma célula

6 Posts
1 Usuários
0 Reactions
1,218 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde, pessoal!

Procurei nas pesquisas do fórum, mas não consegui nenhum resultado que me ajudasse.

Preciso ativar uma macro com um duplo clique numa célula, pois só sei fazer isso quando coloco pra clicar em algum objeto, mas gostaria de um duplo clique na própria célula.

Alguém pode me ajudar com esse comando?

Abraço!

Ricardo

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/05/2015 2:32 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'Seu código vai aqui
    Cancel = True
End Sub

Importante: não remova o Cancel = True.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/05/2015 2:54 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Muito obrigado pelo retorno, Fernando.

Não consegui fazer rodar, porque o código que eu quero, deveria selecionar a própria célula em que estou clicando...

De acordo com o que vc me passou, seria isso?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Selection.Copy
Sheets("Cadastro").Select
Range("A7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cancel = True
End Sub

Abraço!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/05/2015 3:14 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ricardo, como estamos lidando com Objetos diferentes devemos usar a instrução WITH - Executa uma série de instruções em um objeto ou em um tipo definido pelo usuário tirado da ajuda do VBA.

Então a rotina ficaria da seguinte forma :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    Selection.Copy
    
    With Sheets("Cadastro")
        'Para colar não precisamos selecionar a aba, só se quiser
        'caso contrário desabilite esta linha
        .Select
        
        .Range("A7").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Cancel = True
        
        Application.CutCopyMode = False
   
    End With
    
End Sub

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 05/05/2015 5:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Faça assim então:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    with Sheets("Cadastro")
        Target.Copy .Range("A7")
        .Range("A7").Value = .Range("A7").Value
    End With
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 06/05/2015 8:28 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Excelente, Fernando!

Muito obrigado mesmo!!!

Abraço!!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 06/05/2015 10:53 am