Condividi:        

Worksheet_change non funziona

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

Worksheet_change non funziona

Postdi wallace&gromit » 17/11/22 10:55

Ho questa semplicissima macro, inserita nel codice del Foglio1, ma non funziona. Le macro sono abilitate e ho provato anche a dare il comando Application.enableEvents = true
ma nulla, cosa può essere?
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:C20")) Is Nothing Then
Application.EnableEvents = True
MsgBox Target
End If
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: Worksheet_change non funziona

Postdi Marius44 » 17/11/22 12:08

Ciao
A me funziona perfettamente! Il messaggio mi dà il valore della cella cambiata.
Se vuoi l'indirizzo della cella, ovviamente, devi mettere Target.Address

La butto lì: non è che per caso hai cambiato una cella fuori dal Range?

Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: Worksheet_change non funziona

Postdi Anthony47 » 17/11/22 12:34

In aggiunta alle considerazioni di Marius (vedi sopra)...
Per essere sicuri di aver inserito il codice nella posizione giusta:
-tasto dx sul tab col nome del foglio, seleziona Visualizza codice

Se non e' nel modulo che così viene aperto, mettilo lì (e toglilo da dove ora e' inserito)

Se e' gia' lì allora:
1) Metti un breakpoint sulla riga If Not Intersect etc etc (per come fare, vedi viewtopic.php?f=26&t=103893&p=647677#p647677)
2) poi scrivi qualcosa in A2 e vedi se la macro si attiva fermandosi su quella riga di codice
--se Sì, continua la macro usando F8 e vedi cosa succede

Se invece la macro non si attiva (fermandosi poi sul break) allora e' possibile che le macro siano disabilitate o che EnableEvents sia finito disabilitato.
In questo caso la cosa piu' semplice da suggerire e' chiudere e riaprire Excel, controllando che all'apertura le macro vengano abilitate.

L'istruzione Application.EnableEvents = True all'interno di una macro che se parte e' perche' gli eventi sono abilitati e' inutile.

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

Re: Worksheet_change non funziona

Postdi wallace&gromit » 17/11/22 15:00

Scusatemi!!!
ero fuso io, pensavo di lavorare con SelectionChange e mi aspettavo di vedere il messaggio solo cliccando sulla cella, invece parlandomi di scrivere qualcosa ho capito che mi stavo confondendo.
Risolto.
Il mio obiettivo era di cliccare sulle celle con le formule e vedere subito i legami precedenti. Così funziona:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("H3:H50")) Is Nothing Then
    ActiveSheet.ClearArrows
    Selection.ShowPrecedents
End If
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Worksheet_change non funziona

Postdi Anthony47 » 17/11/22 18:30

Il mio consiglio e' di lavorare con DoppioClick:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'ActiveSheet.ClearArrows
    Selection.ShowPrecedents
Cancel = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.ClearArrows
End Sub

Il doppioclick e' una azione volontaria, al contrario della selezione che puo' avvenire anche solo muovendosi con le frecce o giocando col mouse.
Col codice proposto a ogni doppioclick vai all'indietro con i precedenti (quindi indicando i precedenti, i pre-precedenti, i pre-pre-precedenti, etc); se non ci sono precedenti (o ulteriori precedenti) avrai un beep. Cambiando selezione cancelli le frecce

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

Re: Worksheet_change non funziona

Postdi wallace&gromit » 21/11/22 09:29

Grazie per il consiglio, ma penso che rimango sulla selezione della cella, perché è importante che ogni volta che consulto un risultato calcolato io sappia quali celle di input precedenti devono essere compilate per avere un risultato corretto. Col doppio clic magari non faccio sempre il controllo.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21


Torna a Applicazioni Office Windows


Topic correlati a "Worksheet_change non funziona":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti