You are here:--Programmazione del Nonno #9 SelectionChange

Programmazione del Nonno #9 SelectionChange

Come cominciamo, la prima cosa adesso noi ci troviamo sul Foglio “Archivio”, quindi dobbiamo usare l’EVENTO “SelectionChange” del Foglio “Archivio”, ogni foglio ha i suoi EVENTI ecco il perche di “Private” nella Macro, cioè una macro che funziona solo per quel Foglio.

Sappiamo già come fare, apriamo l’Editor del VBA “Alt+F11” questa volta facciamo doppioclick sul nome del Foglio “Archivio”, si apre il Modulo del Foglio “Archivio”, nella Finestra piccola a sx (generale) scegliamo “Worksheets” ed avremo pronta la nostra macro “SelectionChange” in cui inserire il nostro codice.

Questa la macro pronta ad accettare il codice

Questa volta faremo uso delle “Variabili”, anche perche facendo riferimento a due fogli diversi avremo bisogno di più Variabili

Come prima cosa incominciamo con le Variabili “OGGETTO”, già abbiamo imparato come incominciare a dichiarare le Variabili, appena sotto “Private” scriviamo:
Dim Sh1 as Worksheet, Sh2 as Worksheet
Dim Trg as Variant, x as Integer, uRiga as Integer

Vediamole un poco più da vicino ed analizziamole, come ho detto le prime due sono variabili Oggetto, cioè fanno riferimento ad i fogli1-2(Archivio-Macro) che sono OGGETTI, le altre sono normali però una dichiarata “Variant” cioè può contenere qualsiasi cosa, le altre “Integer” contengono un numero, ma attenzione le variabili che contengono numeri ne sono diverse questa può contenere un valore numerico compreso tra -32.768 e +32.767, diciamo che sarebbe come un palazzo, quando si è arrivati al terrazzo non si può più andare oltre, oppure come i piani interrati quando si è arrivato all’ultimo non si può più scendere in basso.
Quindi attenzione quando si usano le variabili numeriche, perche può scaturire un errore difficilmente rintracciabile, se io so a priori che le righe od il numero da gestire è compreso tra quelle 2 cifre posso usarla tranquillamente, Noi sappiamo che vogliamo registrare 200 macro, quindi va benissimo.

Dopo “Dim” posso inserire quante variabili voglio basta separarle da una virgola, ma nulla vieta che per ogni Variabile vada daccapo e scriva di nuovo “Dim” dichiarandone un altra, ma credo che sia più dispendioso.

Ho messo due ordini di Variabili giusto per riconoscerle e separarle, inoltre ho usato un codice Mnemonico (mio) per ricordarmele, voi usate quello che più vi piace.
Sh1 io lo considero “Sheets(1)”, potevo anche scrivere Wks1 per Worksheet
Trg per “Target”, x per Contatore, uRiga per “Ultima Riga”.

Ma una cosa è “Dichiarare” le Variabili un altra è “Riempirle” cioè assegnargli un valore.

Come assegno un valore ad una Variabile “Oggetto” uso la parola chiave “Set” quindi collego i Fogli “Archivi-Macro” ad “Sh1-Sh2”
Set Sh1 = Worksheets(“Archivi”)
Set Sh2 = Worksheets(“Macro”)
Noterete che mentre scrivete l’Editor vi aiuta a completare la parola che state scrivendo.

La finestra di aiuto completamento o scelta


quindi seleziono il foglio “Archivi” con
Sh1.Activate
Questo l’inizio della macro avremo adesso una situazione del genere.

dovremmo essere a questo punto

Senza continuare a scrivere niente, facciamo una prova, modifichiamo Sh1.Activate in Sh2.Activate nella macro poi premiamo “Alt+F11” torniamo sul foglio Excel andiamo nel foglio “Archivi” e selezioniamo una cella qualsiasi.
Vedremo subito che Excel ci porta sul foglio “Macro”, questo vuol dire che la nostra macro ha riconosciuto che è avvenuta una diversa selezione e quindi ci ha “Attivato” il foglio2(Macro), ritornando al foglio “Archivi” e facendo una nova selezione ci riporta di nuovo al Foglio “Macro”.
Ma con “Alt+F11” torniamo alla nostra macro, ed aggiustiamo la Modifica che abbiamo fatto, ritornando di nuovo ad Sh1.Activate .

Completamento “SelectionChange”

By | 2019-03-29T08:27:19+02:00 Marzo 29th, 2019|Categories: Programmazione del Nonno|Commenti disabilitati su Programmazione del Nonno #9 SelectionChange

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