register.png   lostpass.png
Benvenuto nella Community di Alexsandra.it
05 Febbraio 2012 03:44:24
Shoutbox
Devi essere loggato per poter inserire un messaggio.

Faby
28/01/2012 13:48
Buon week end anche ate Delfi Smile

DELFINO
28/01/2012 11:03
buon sabato e buon weekend a tutti... E un bacio alle ragazze Bacio

Faby
27/01/2012 18:21
Ciao Angarat

angarat
27/01/2012 14:38
ciao belli e brutti Bacio ao! ciaooooo! Biggrin

Faby
26/01/2012 13:52
Ciao Delfi, sono di corsa.. a presto

Utenti Connessi
· Gianca04:46:01
· Alex07:46:23
· SALVO18:07:14
· Mirko 1 giorno
· carlo1973 1 giorno
· Spawn 2 giorni

· Totale iscritti: 553
· Nuovo iscritto: SALVO
RSS Feeds
Subscribe to our Feeds

Latest News Latest Articles
Le nostre rubriche

Quotidiani online

Siti Web Visti per Voi

Fotogallery
Siti Amici

Siti Amici

Noi diciamo no

No alla Pedofilia

Page Rank

Powered by  MyPagerank.Net

Pagerank
Award
Corso VBA #1 : Ambiente di Sviluppo e Generatore di macro
Pubblicato da :Alex | 6719 letture | Stampa
Premessa

Molto spesso vediamo in rete che si parla di Excel "avanzato" è una terminologia che implica l'uso di formule e funzioni evolute ma anche di personalizzare Excel programmandolo a nostro piacimento. Questa possibilità esiste in quanto al suo interno Excel contiene un linguaggio di programmazione denominato "Visual Basic for Application" in sintesi VBA, è un linguaggio molto simile al vecchio Basic o Quick Basic e abbastanza simile al moderno Visual Basic, in pratica tramite codice programmabile possiamo far compiere ad Excel operazioni che non è possibile effettuare con l'uso tradizionale, questa procedura è attuabile inserendo delle Macro.

Una macro è un programma composto da un'insieme di istruzioni che permettono di eseguire un compito ripetitivo, per iniziare possiamo definirle così, più avanti vedremmo che possiamo usarle per fare tante altre cose, adesso fermiamoci a questa definizione un po' semplicistica tanto per poter comprenderne meglio il loro utilizzo.

Registratore di Macro

Cominciamo con un esempio pratico, se tutti i giorni voglio aprire un file che si chiama "pianeta" e scrivere nella cella A1 del foglio 1 "Inizio, ore 08,00" e nella cella A1 del foglio 2 e "Fine ore 12,00 " potremmo automatizzare questa procedura usando una macro. Per poter mandare in esecuzione una macro dobbiamo verificare il grado di protezione che abbiamo impostato in Excel, lo possiamo vedere attraverso questo percorso Strumenti - Macro - Sicurezza. E ci comparirà una maschera come quella sotto riportata



Impostando il livello di protezione su medio come vedete in figura tutti i file che conterranno macro quando andrete ad aprirli vi verrà mostrato un messaggio di avviso che vi permetterà di scegliere se eseguirle o meno. Il messaggio che vi apparirà è il seguente



Dobbiamo inoltre riportare di fare attenzione, le macro possono contenere codice dannoso o anche un'applicazione virale, pertanto fate attenzione nell'aprire file che vi riporteranno il messaggio sopra esposto, aprite file contenenti macro solo se siete certi della fonte, fatta questa premessa io direi di iniziare a costruire la nostra prima macro, possiamo utilizzare il Registratore di Macro presente in Excel, che ci permette di poter operare "manualmente" sul nostro file e tutte le nostre operazioni verranno convertite in codice attraverso questa funzione, che si trova nel menu "Strumenti > macro > Registra nuova macro"



eseguita questa operazione ci comparirà una maschera come questa sotto riportata



Vediamo i vari campi che compaiono in questo box

Nome macro: è il nome che vogliamo dare alla nostra macro, Excel riporta per default "Macro1", potete scrivere il nome che volete assegnare alla stessa

Tasto di scelta rapida: serve per eseguire la macro direttamente dalla tastiera; se inseriamo Z nell'apposito campo, per eseguire la macro basta usare la combinazione di tasti CTRL+Z

Memorizza macro in: consiglio di lasciare così come appare in figura

Descrizione: per default mostra il nome dell'autore autore e la data di creazione

Premiamo ora sul tasto OK e procediamo alla creazione della macro, ci troviamo col cursore nella cella A1 del foglio1 e scriviamo la frase "Inizio, ore 08,00" senza le virgolette e poi premiamo il tasto Invio



Portiamoci ora nel Foglio 2 e nella cella A1 e scriviamo la frase "Fine ore 12,00″ sempre senza le virgolette e premiamo ancora Invio, ritorniamo poi al Foglio1 e possiamo anche interrompere la registrazione della nostra macro in questo modo : Strumenti > Macro > Interrompi registrazione



A questo punto la nostra macro è stata creata, la procedura di fine registrazione può essere eseguita nel modo descritto oppure al momento della registrazione può comparirvi anche un box come il seguente



Vi rimarrà sullo schermo, potete spostarlo come volete, e per fermare la registrazione basta premere sul pulsante quadrato che vedete in figura, a questo punto possiamo verificare se funziona, cancelliamo quello che abbiamo scritto nei due fogli e proviamo a mandarla in esecuzione, la possiamo eseguire dal menu Strumenti > Macro > Macro



e si apre una maschera come la seguente



In questo box troverete tutte le macro che registrerete o scriverete direttamente all'interno dell'editor, basta solo premere sul pulsante Esegui , e manderete in esecuzione la macro e nei 2 fogli troverete il testo che prima avevate cancellato, potete eseguirla anche utilizzando il tasto di scelta rapida che avevamo impostato in precedenza (CTRL+Z). Fatto, abbiamo creato la macro e mandata in esecuzione, ma vediamo come è potuto succedere, inoltriamoci ora nell'editor di VBA e vediamo come è fatto. Dal menu Strumenti - Macro - Visual Basic Editor oppure premendo la combinazione di tasti ALT+F11 entreremo nell'editor e ci verrà mostrata una schermata così



Sulla sinistra compare la finestra del progetto, se espandiamo la cartella "Moduli" e clicchiamo sulla voce "Modulo1" nella finestra di destra ci apparirà il codice convertito automaticamente per eseguire l'istruzione. Per il momento non addentriamoci in spiegazioni tecniche sul significato del codice, lo affronteremo meglio nelle prossime lezioni quando avremmo appreso i concetti basilari della programmazione VBA, per il momento notate che il codice è racchiuso tra 2 comandi di Inizio e fine delle istruzioni cioè Sub Macro1() .... End Sub mentre tutte le righe precedute dall'apice singolo (') stanno ad indicare i commenti, nel vecchio linguaggio Basic corrisponde alla funzione REM




Condividi Articolo
AddThis:
URL:
BBcode:
HTML:
Facebook Like:


php fusion  copyright © 2002 - 2011 by Nick Jones   Released as free software without warranties under GNU Affero

Theme designed by Benjamin Eriksen | PhpFusionBox.com | Edited and rewritten by Alex