You are here:--Programmazione del Nonno #7d Change(1)

Programmazione del Nonno #7d Change(1)

Allora ci troviamo nel Modulo del Foglio3(Macro), cosa dobbiamo fare? abbiamo detto di sfruttare gli “EVENTI”, ecco volevo proprio sfruttare questo per far inserire la “Data odierna” nella colonna “B”.

Come sempre detto il nostro “Editor” ci aiuta enormemente, ci da anche delle Macro già preparate per gli eventi per arrivare a questo, in alto sopra la finestra centrale, ci sono due caselle, nella sx vediamo la scritta “Generale” con la freccia per il menu a tendina, la premiamo e vediamo comparire 2 voci, quella “(Generale)” tra parentesi e “Worksheet”

Scegliendo “Worksheet” avremo questa situazione:

In automatico imposta una macro, ma non è quella dell’Evento giusto, per trovare la macro che ci serve per il nostro “Evento” che è “Change”, andiamo sulla finestra in alto a dx che come vedete vi è scritto “SelectionChange” premiamo la freccia per il menu a tendina e compaiono tutte le macro disponibili per l’Evento del foglio.

Ce ne sono anche altre più in basso, ma a noi interessa “Change”, clicchiamo su “Change” subito Excel ci prepara la macro per quell’Evento, quando Excel inserisce una macro in automatico la mette in ordine alfabetico e separa le macro con una linea.

Cancelliamo la Macro in basso che non serve.

Notiamo subito alcune cose, la Macro viene dichiarata “Private Sub”(Privata), poi il nome della della macro “Worksheet_Change” che indica l’OGGETTO “Worksheet” e l’EVENTO “Change”, ed infine vediamo che ci sono alcune scritte tra le parentesi, quello è un “PARAMETRO” cioè una Variabile, ed Excel ha determinato anche il tipo “(ByVal Target As Range)”, cioè una variabile chiamata “Target” che accetta un “Range”(intervallo di celle) come Valori(ByVal).

Guardate è importante capire il questo passaggio, cioè il tipo di Macro che andiamo a scrivere.

Adesso scriviamo quello che dobbiamo fare, in linguaggio pratico

Se scrivo un valore in una cella della colonna A, dalla riga4 in poi, allora nella cella corrispondente B scriviamo la data odierna

ora non dobbiamo fare altro che tradurre quello che abbiamo scritto in modo che Excel capisca i comandi.

Prima di tutto perche “dalla rig4 in poi”, perche le prime 3 righe sono occupate dal Titolo e dall’Intestazione delle colonne.

Excel già al suo interno sa dove siamo e quale cella abbiamo modificato, esiste un comando molto semplice “Intersect”, cioè “Incrocio Intercettazione”, che restituisce la nostra posizione sul Foglio.

scriviamo questo semplice codice appena sotto “Private”

If Not Intersect(Target, Range(“A4:A1500”)) Is Nothing Then

è un ciclo “If…Then…Else…End If” che già conosciamo, e che dice se la cella che è stata modificata(avvenuto un cambio) è compresa tra “A4:A1500” allora facciamo qualcosa.

Noterete che è saltato fuori “Target” ed il “Range(“A4:A1500″)”, per il nostro PARAMETRO, troviamo anche altre parole chiavi “Not”, “Is Nothing” sono al completamento di “Intersect”, Ma li vedremo con calma.

come abbiamo detto Excel gia conosce dove siamo, con “Target”, quindi andiamo ad indicare dove scrivere la data.

Cells(Target.Row, Target.Column + 1)  = Date

Mentre scrivete queste poche parole, notate l’aiuto che da l’Editor appena dopo “Target” messo il Punto compare la finestra d’Aiuto

Spostandoci con la Freccia Giù andiamo su “Row”(Riga) Lultima della finestra e premiamo la “Barra spazio” ed Excel inserirà quello selezionato.

lo stesso per “Target.Column”, però notate che ho anche inserito “+1”, se Excel riconosce che siamo sulla Colonna “A” “Target.Column” riporta il valore 1 scrivendo “+1” il valore viene convertito in 2 che sarebbe appunto la colonna “B”=2.

Ecco il motivo principale che uso “Cells” al posto di “Range” se avessi usato Range non avrei potuto scrivere “A+1” in quanto Excel avrebbe dovuto addizionare una lettera(Colonna) ad un numero, genererebbe un errore.

Poi chiudiamo il ciclo “If” con “End If”.

Questa sarà la nostra macro Finita.

Nel prossimo vedremo il Funzionamento della macro Change

bye bye

By |2019-03-26T06:46:17+01:00Marzo 26th, 2019|Categories: Programmazione del Nonno|Commenti disabilitati su Programmazione del Nonno #7d Change(1)

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