maurogsc.eu
mauro gamberini


home ==> Excel: articoli ==> Dove e come inserire il codice Visual Basic

Base - Dove e come inserire il codice Visual Basic

Situazione.
Avete trovato in una pagina Internet, oppure avete avuto in risposta ad una vostra richiesta in un forum o in un newsgroup, del codice Visual Basic da copia/incollare nel vostro file di Excel. Ok, tutto molto bello e quasi sicuramente farà ciò che volete, ma... ma dove metterlo?.

Nota.
Quanto si trova nell'articolo è valido per  le versioni di Excel 97/2000/Xp(2002)/2003/2007/2010 se non diversamente indicato.

IMPORTANTE!!! Prima di cominciare!!!
Fidarsi è bene, non fidarsi è meglio...;-) . Fate sempre una copia del vostro file *prima* di provare la soluzione che avete trovato in Internet o che avete avuto in risposta ad una vostra richiesta. Provate poi con la copia del file(più di una volta) verificando che tutto funzioni per il meglio anche, ad esempio, selezionando un foglio diverso, celle diverse, ecc. Non sempre una macro che funziona come deve se ho selezionato il Foglio1, selezionado ad esempio il Foglio2 si comporta come mi aspetto. E tranquilli, nella maggior parte dei casi non siete voi ad aver fatto qualcosa di sbagliato, ma è chi posta il codice che fa le cose a cuor leggero...

1 - Capire.
Leggete con attenzione la risposta che avete avuto o la pagina in cui avete trovato il codice. Nel primo caso cercate di capire, se sono presenti, le indicazioni date da chi vi ha risposto. E' indicato dove copiare il codice? Vi sono spiegazioni su cosa fa il codice? Avete l'impressione che non sia stato capito il vostro problema? Se avete dubbi, chiariteli chiedendo ulteriori spiegazioni. Va bene che, come consigliato, state lavorando su di una copia del file, ma il codice potrebbe anche puntare ad altre directories, files o a *cose* del sistema operativo e di tutto quello non abbiamo una copia... Se invece avete trovato il codice in una pagina in Internet e leggendo quanto riportato avete qualche dubbio, chiedete aiuto nei forum dedicati(ad esempio per Excel qui: http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads) indicando il link alla pagina con il codice, cosa vorreste fare e se la soluzione trovata è quella più indicata.

2 - Dove copiare?
Il codice può essere copiato:

Se nella risposta avuta o nella pagina Internet non trovate indicazioni su dove copiare il codice, rileggete il punto 1 e seguite i consigli che vi trovate. Una nota: ThisWorkbook e Questa_cartella_di_lavoro sono la stessa cosa(lo stesso oggetto) ma non si sa per quale motivo nella localizzazione italiana della versione 2010 di Excel hanno italianizzato il nome. Mah, mistero...

3 - Dove trovo questi moduli?
Come prima cosa ci portiamo nell' editor del Visual Basic di Excel. Per far questo, indipendentemente dalla versione di Excel che utilizziamo, una volta aperto il nostro file è suffcente premere assieme i tasti ALT e F11 (normalmente ci si riferisce a questa operazione con: ALT+F11). Questa la schermata che abbiamo a video:

Una volta incollato il codice, posso tornare in Excel premendo nuovamente ALT+F11.

4 - Come lanciare una macro.
Quanto segue si riferisce solo a macro copia/incollate nei moduli standard(vedi il punto 3.1). Macro inserite negli altri moduli di codice(fogli, ThisWorkbook/Questa_cartella_di_lavoro, moduli di classe) hanno utilizzi diversi e di solito sono forniti con istruzioni per l'uso. Rileggete sempre il punto 1 se avete dubbi in proposito. Vediamo come lanciare/eseguire la nostra macro inserita in un modulo standard una volta tornati in Excel.

5 - Assegnare un tasto di scelta rapida alle macro.
Nel caso voglia assegnare un tasto di scelta rapida alle mie macro(cioè premere ad esempio CTRL+a per eseguire la macro), questa è la procedura:

Adesso premendo la combinazione di tasti CTRL+lettera_scelta lancerò la mia macro.

Per ulteriori informazioni su Microsoft Excel ed il suo Visual Basic, utilizzate questo forum:
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads


Ultimo aggiornamento di questa pagina: 10/02/2011 - mauro gamberini