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.
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.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→