Condividi:        

Esegui macro con un click

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

Esegui macro con un click

Postdi Danielehi » 27/04/09 17:35

Bene, ho rigirato tutto il web e tutti si riempiono la bocca di paroloni tipo "routine d'evento" "evento di sistema" etc... ma nessuno spiega come fare ad attivare (eseguire) una macro cliccando su una cella fissa...
Per chiarezza, io ho in Cella $B$13 il titolo della macro, vorrei evitare di andare in sviluppo->macro->esegui, vorrei avviarla con un click, qualche buon samaritano? Pace e bene :)
:D Gingol odd uei, ouaffai ditisturrai :D
Danielehi
Utente Junior
 
Post: 18
Iscritto il: 08/04/09 15:34
Località: Reggio Calabria

Sponsor
 

Re: Esegui macro con un click

Postdi biancocandido55 » 27/04/09 20:35

Ciao Danielehi,
supponiamo che la cella sia A1 e la macro si chiami pippo()
scrivi questo codice
nel Foglio1 del visual basic editor
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then pippo
End Sub

ciao Biancocandido55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: Esegui macro con un click

Postdi Flash30005 » 27/04/09 22:22

Forse sarebbe meglio con il doppio click del mouse :roll:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then Pippo
End Sub
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Esegui macro con un click

Postdi Anthony47 » 28/04/09 00:43

Oddio, mi sembra che di paroloni ne facciamo uso in modica quantita' mentre consigli ne diamo in abbondanza...

Ciao a tutti!
Avatar utente
Anthony47
Moderatore
 
Post: 19225
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Esegui macro con un click

Postdi biancocandido55 » 28/04/09 07:32

Ciao Danielehi,
sicuramente la macro di Flash (ciao) è più corretta, dettata da esperienza a cognizione di causa ed effetto,
la mia un pò più avventata, ma comunque corretta (per essere la 2 macro che scrivo di mio pugno). ;) :D :lol:
un saluto
ciao
biancocandido
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: Esegui macro con un click

Postdi Danielehi » 28/04/09 08:18

Flash30005 ha scritto:Forse sarebbe meglio con il doppio click del mouse :roll:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) <-- Che dichiari?
If Target.Address = "$A$1" Then Pippo <-- Non sarebbe Call Pippo?
End Sub

Non funge, avendo riportato il testo in una macro vado a cliccare (doppio) su la cella ma non succede nulla... Questo codice l'ho visto altre volte, mi spiegate il significato?
Grazzzzie
:D Gingol odd uei, ouaffai ditisturrai :D
Danielehi
Utente Junior
 
Post: 18
Iscritto il: 08/04/09 15:34
Località: Reggio Calabria

Re: Esegui macro con un click

Postdi Flash30005 » 28/04/09 09:08

Ciaa Daniele,
questo codice non va inserito in una macro di modulo ma nel foglio1 (o foglio2 etc)
Apri una cartella vuota e vai su Strumenti > Macro > Visual basic editor
nella finestra di sinistra hai i fogli (1, 2 e 3) clicchi sul foglio1 e incolli questo codice
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then pippo
End Sub

Poi inserisci un modulo con una macro (es questa):
Codice: Seleziona tutto
Sub pippo()
MsgBox "Funziona!"
End Sub

Vai sul foglio1 e clicchi due volte su Cella A1 e apparirà il messaggio.

Il vero significato del codice Cancel As Bolean non te lo so dire (non sono un programmatore) ma quel codice lo ottieni già di default come opzioni quando scegli, nel VBA del foglio, Worksheet invece che "generale", nella finestrella a destra trovi l' opzione BeforeDoubleClick (e anche altre).
Con quel codice, in effetti stai "dicendo" che con qualsiasi doppio click sul foglio farà eseguire l'operazione successiva.
Ma...
se vedi il codice successivo
Codice: Seleziona tutto
If Target.Address = "$A$1" Then pippo
dici che solo se l'indirizzo è A1 dovrà eseguire la macro Pippo altrimenti non succede nulla (senza la condizione, ogni doppio click sul foglio avrebbe fatto eseguire la macro).

Se metti una If e... Then non occorre Call
ma se all'interno di una macro non hai l'If devi per forza mettere una call "macro" e non Then "macro".

Ciao
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Esegui macro con un click

Postdi Anthony47 » 28/04/09 14:34

Per inserire la prima macro (Worksheet_BeforeDoubleClick) io in genere suggerisco:
-dal foglio con i tuoi dati, tasto dx sul tab col nome foglio; scegli Visualizza codice
-ti si apre l' editor delle macro; copia il codice di Worksheet_BeforeDoubleClick e incollalo nel frame bianco di dx
Per inserire pippo:
-dall' editor delle macro, Menu /Inserisci /Modulo
-copia il codice di "pippo" e incollalo nel frame bianco di dx

CANCEL e' un flag di valore binario che puo' essere settato dal codice per bloccare la normale funzione del doppioclick (entrare in edit della cella); ed e' buono che lo setti altrimenti alla fine rimani appunto in edit della cella e devi chiudere con Enter; quindi il mio suggerimento e' di modificare in:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then pippo
Cancel = true
End Sub


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

Re: Esegui macro con un click

Postdi Danielehi » 28/04/09 14:43

Grazzzie, funge funge...dungono entrambe, flash e antonio
inauanorsoppenslei :lol:
:D Gingol odd uei, ouaffai ditisturrai :D
Danielehi
Utente Junior
 
Post: 18
Iscritto il: 08/04/09 15:34
Località: Reggio Calabria


Torna a Applicazioni Office Windows


Topic correlati a "Esegui macro con un click":


Chi c’è in linea

Visitano il forum: Nessuno e 84 ospiti