Il Linguaggio VBA di Excel

Il linguaggio VBA ( Visual Basic for Application ) di Excel non è diverso da quello degli altri strumenti della suite Office, quello che cambia è l’approccio allo sviluppo, infatti in questo caso occorre sapersi districare tra le varie celle come se stessimo giocando ad una battaglia navale.
Il concetto principale su cui dobbiamo ragionare è lo “sheet”, ossia il foglio di lavoro. In Excel possiamo avere tutti i fogli di lavoro che vogliamo, per lavorarci sopra possiamo referenziarli tramite un array che ha come indice il numero progressivo del foglio oppure il suo nome. Ad esempio per scrivere il valore 10 sulla cella “C3” del primo foglio dobbiamo scrivere:

Worksheets(1).Cells(3, 3) = 10 oppure Worksheets(“Foglio1”).Cells(3, 3) = 10

Molto semplice, ci si rende subito conto quanto sia facile poter fare dei calcoli sull’intero foglio oppure prendendo i valori su due fogli differenti. L’utilizzo di Excel lo vedo molto azzeccato per documenti come le fatture, lo vedo molto più complesso per il magazzino al quale preferisco di gran lunga Access. Come esempio per capire il funzionamento lato programmazione con VBA in Excel, vediamo come è possibile prendere due valori in due celle fisse dello stesso foglio, fare la moltiplicazione e scrivere il risultato in un’altra cella.

Excel1

Esercizio con Excel

Come prima dritta vi consiglio di visualizzare la barra dei moduli e quella di Visual Basic, in modo da poter inserire un pulsante e ad esso associare un’azione. Nell’esempio i valori stanno rispettivamente nelle celle “E7” ed “E8”, il risultato lo mostreremo nella cella “E10”.

Sub Moltiplica_Clic()

    Dim a, b As Double

    a = Worksheets("Foglio1").Cells(7, 5)
    b = Worksheets("Foglio1").Cells(8, 5)

    a = a * b

    Worksheets("Foglio1").Cells(10, 5) = a

End Sub

Ovviamente in un Excel Italiano avremo il “Foglio1”, “Foglio2”, etc… per default, in uno in lingua Inglese avremo “Sheet1”, “Sheet2”, etc…
Molti di voi mi diranno allora che questa operazione è possibile compierla in modo migliore, anche senza bisogno di pigiare un pulsante, in Excel. Certamente, rispondo, ma questo era soltanto il primo esempio per farvi vedere come si programma con il linguaggio VBA di Excel.

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Office e contrassegnata con . Contrassegna il permalink.