Condividi:        

vba: eseguire macro su doppio click cella

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

vba: eseguire macro su doppio click cella

Postdi karug64 » 01/03/15 13:23

Salve a tutti.
C'è la possibilità di eseguire macro diverse in base alla cella su cui eseguo un doppio click?

Es. A1=macro1
A2=macro2
A3=macro3

Grazie
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: vba: eseguire macro su doppio click cella

Postdi alfrimpa » 01/03/15 19:01

L'evento doppio click non è intercetta bile sull'oggetto Worksheet.

Comunque prova a dare uno sguardo a questa discussione di altro forum.

excelvba.it/Forum/thread.php?f=1&t=7833

Alfredo
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: vba: eseguire macro su doppio click cella

Postdi ricky53 » 01/03/15 21:03

Ciao,
scusa Alfredo non è esatto: è intercettabile.

Prova con questo codice
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address(0, 0) = "A1" Then
        MsgBox "Estato premuto il doppio click sulla cella 'A1'"  ' <<==== Va cancellata dopo le prove !!!
' QUI puoi mettere la chiamata alla macro che ti occorre
    Else
' QUI metti gli altri controlli  ... se sono più 3-4 conviene CASE ... SELECT
    End If
    Cancel = True
End Sub
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: vba: eseguire macro su doppio click cella

Postdi Anthony47 » 01/03/15 21:08

Alfredo, non mi torna...
Si puo' usare un select case; tipo (esempio semplificato):
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'MsgBox (Target.Address)
Select Case Target.Address(0, 0)
    Case "A1"
        Call Macro1
    Case "A2"
        Call Macro2
       
' altri Case
'
'
End Select
'
End Sub

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba: eseguire macro su doppio click cella

Postdi Anthony47 » 01/03/15 21:12

Ciao Ricky
Ho cominciato a scrivere quando il tupo messaggio non c'era; lascio anche il mio perche' entra appena un po' piu' nel come richiamare le varie macro.
Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba: eseguire macro su doppio click cella

Postdi ricky53 » 01/03/15 21:16

Ciao Anthony,
certamente perché tu sei andato avanti sul suggerimento che gli avevo dato sul "CASE".


KARUG: leggi l'intervento di Anthony che applica il consiglio sul CASE
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: vba: eseguire macro su doppio click cella

Postdi alfrimpa » 01/03/15 21:54

Ciao Anthony

L'esempio del Select Case è stata la prima cosa cui ho pensato.

Ho scritto la macro identica alla tua (tranne per il fatto che avevo scritto Case Is e non solo Case non ricevendo nessun errore) ma non funzionava.

La non intercettabilità di questo evento l'avevo letta su altro forum.

Alfredo

P.S. Ma mi spieghi che differenza c'è tra il Case ed il Case Is; ho visto usare sia l'uno che l'altro.
Ho anche usato una serie di If.....Elseif etc. le ho provate tutte ma niente.
Tu la tua macro l'hai provata?
Non sono bravo come te e Ricky :) ma qualcosina col VBA riesco a farla :)
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: vba: eseguire macro su doppio click cella

Postdi karug64 » 01/03/15 22:33

Ho provato il codice di Anthony.
Tutto ok.

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba: eseguire macro su doppio click cella

Postdi Anthony47 » 02/03/15 00:39

Alfredo, come vedi non e' sufficiente che "l'ha detto il forum" (nemmeno se lo leggi su pc-facile)....

L' uso della parola chiave Is e' obbligatoria quando c'e' poi un operatore di confronto valido (=, <, ...).

Comunque Case Is = "A1" oppure Case "A1" sono equivalenti

Altre combinazioni (esempi a caso):
Codice: Seleziona tutto
Select Case Target.Address(0, 0)
    Case "B1" To "B6"     'Attenzione, non indica l' intervallo B1:B6 !!
        Call macro1
    Case Is > "D2"      'Attenzione, non significa qualsiasi intervallo oltre D2 !!
        Call macro2
    Case "A10", "A15", "A22"
        Call Macro3
       
' altri Case
'
End Select


I motivi dei vari "Attenzione" sono legati alla logica del confronto tra stringhe, in cui, ad esempio, A12 e' inferore ad A2

Spero di non averti confuso oltre le mie intenzioni...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba: eseguire macro su doppio click cella

Postdi alfrimpa » 02/03/15 10:55

Ciao Anthony

Innanzitutto ti ringrazio dei tuoi chiarimenti (sempre preziosi).

Mi rimane irrisolto il problema del perchè a me non funzionasse (ma ovviamente questo tu non me lo puoi dire); eppure avevo scritto Case Is = "A1" Call macro1.

Probabilmente avrò scritto qualche altra cavolata chi lo sa......

Comunque mi hai già chiarito delle cose e per questo ti ringrazio nuovamente.

Alfredo
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli


Torna a Applicazioni Office Windows


Topic correlati a "vba: eseguire macro su doppio click cella":


Chi c’è in linea

Visitano il forum: Nessuno e 75 ospiti