You are here:--Programmazione del Nonno #9c Funzionamento Change

Programmazione del Nonno #9c Funzionamento Change

Finito di scrivere la nostra macro, vogliamo vedere come funziona.

Al solito apriamo il nostro Editor con “Alt+F11” poi selezioniamo il foglio “Archivi” nella finestra dei progetti e doppioClick ed apriamo il Modulo del foglio “Archivi”, troviamo la nostra macro, ci posizioniamo vicino a “Private…” e premiamo “F9” mettendo un punto di interruzione, per controllare “Passo-Passo” la nostra macro.

Fatto questo passiamo al Foglio “Archivi” ad andiamo dove ci sono i dati delle nostre Macro.
Selezionando una cella qualsiasi comunque, la nostra macro si attiva per l’EVENTO “SelectionChange”, come si vede.

Ma non avendo interessato il nostro “Range(“AA2:AA201″)” scorre fino ad “If Not Intersect…” e va su “End Sub”.

Raggiunge la fine della macro

Adesso seleziono la macro n° 2, voglio trovare ma Macro n° 2 sul Foglio “Macro”, cioè “AA3” quindi la nostra macro riparte come la prima immagine, premo ripetutamente “F8” fino a fermarmi su “If Not Intersect…” nel frattempo vedete cosa ha fatto, leggendo la riga
Sh2.Activate
Mi ha selezionato il Foglio “Macro”, secondo voi non è un errore? penso proprio di si, perche ogni volta che seleziono una cella qualsiasi sia essa del Range che non, mi porta sul foglio Macro.
A questo punto capisco che quel comando deve deve essere letto soltanto se la cella che ho selezionato appartiene al mio range interessato “AA2:AA201”, quindi nella Macro apporto la modifica spostando “Sh2.Activate” appena sotto “If Not Intersect…”.
Lo seleziono poi “Control+x”(Taglia), creo una riga vuota sotto “If Not Intersect…” e “Control+c”(Incolla).

Taglio
Incollo
Situazione finale

Passando per “If Not Intersect…” ha controllato che la nostra selezione è inclusa nel nostro “Range”AA2:AA201″)” quindi va a selezionare il Foglio “Macro” passando di nuovo su
Sh2.Activate

Spostandomi con “F8” arrivo fino a “For x = 4 to uRiga”, mentre nell’immagine superiore nella finestra delle variabili sono Vuote o 0zero, nella finestra dopo aver scorso con “F8” le vedete valorizzate.

Variabili valorizzate

“Trg=2” il valore scelto della nostra Macro “uRiga=16” l’ultima cella occupata del Foglio “Macro”, “x = 0” il nostro contatore ha ancora valore zero perche non sono ancora andato avanti dopo “For…Next” e come potete vedere nella finestra della Variabili adesso “x=4” e passando con il cursore sopra “Sh2.Cells(…” mi riporta il valore 1, in quanto nella cella “A4” del foglio “Macro” vi sta il valore 1 che è la nostra prima Macro.

Controllo numero macro

A questo punto sappiamo che “Trg=2” quindi il confronto è “FALSO” ed allora(Then) passa ad “End If” facendo un nuovo Ciclo, con questo passaggio “x=5” perche si è incrementato di 1, ma la cella “A5” e vuota, quindi il prossimo “Confronto” sarà anche lui “FALSO” tornando ad “End If” per un nuovo ciclo, a questo punto per velocizzare il processo mi posiziono sotto “If” su “Sh2.Activate” e premo “F9” creando un nuovo punto di interruzione, creato il nuovo punto premo “F5″(esecuzione macro) e come potete vedere la macro si è fermata sul punto di interruzione.
Se le righe da scorrere con il ciclo “For…Next” sarebbero state migliaia ci voleva molto tempo a passare tutti i cicli con “F8”, ecco il motivo di un nuovo punto di Interruzione e premere “F5”.

Punto di interruzione

Quindi confrontando che la cella “A8” è uguale a 2 la nostra macro, allora seleziona il Foglio “Macro” e seleziona la cella “A8” con
Sh2.Cells(x, 1).Select perche x=8
Poi esce dalla Macro con “Exit Sub”

Selezione della cella “A8”

Cosi abbiamo visto che lo stesso ciclo “For…Next” che abbiamo usato per la numerazione, lo possiamo anche usare per fare una “Ricerca” confrontando i dati con “If…Endif”.

Il prossimo vediamo cosa manca per completare il nostro file.

Ecco il file con gli ultimi aggiornamenti.
Programmazione del Nonno.xlsm

Bye Bye

By |2019-04-03T10:34:56+01:00Aprile 3rd, 2019|Categories: Programmazione del Nonno|Commenti disabilitati su Programmazione del Nonno #9c Funzionamento Change

About the Author:

BySalv
Excel si può amare od odiare, l'importante che sai usarlo

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi