ūüíĽ

5 motivi per imparare a programmare in VBA

Tag
Excel
Tech
Data
Sep 17, 2020
URL
Ma pensa un po’: fatalità un programmatore, fatalità specializzato in VBA ti dice fatalità di imparare a programmare, e fatalità di iniziare da VBA!
Ammetto di essere un po‚Äô di parte quando si tratta di questo argomento, ma pensala cosi: pi√Ļ persone si mettono ad imparare a programmare in VBA, meno lavori da¬†Freelancer¬†prendo e meno ci guadagno.
Quindi a pensarci bene non dovrei proprio scriverlo questo post.
Forse dovrei spingere tutti a programmare in¬†Python¬†o¬†Java‚Ķ. effettivamente Python √® davvero bello, molto pi√Ļ bello di VBA quindi ti consiglio di iniziare da que‚Ķ‚Ķ. No okay dai. Torniamo a noi.
Io non ho un background in informatica, e mi rivolgo soprattutto a chi, come me, di programmazione ha sentito parlare solo in ambito extra-scolastico.
Se sei qui probabilmente hai capito che, in un mondo sommersi dai computer, forse imparare a programmare due linee di codice non può far così male. Oltre a sembrare un sacco fico.
Ecco ho già spoilerato l’ultimo motivo… va be’ dai andiamo a vedere gli altri 5 motivi per imparare a programmare, e perché dovresti iniziare con VBA.

1. Qual è l’unico software che viene usato in tuuuutte le aziende di questo mondo?

Gi√†,¬†Excel. Motivo per cui a tuuuutti al colloquio di lavoro viene chiesto il¬†grado di bravura¬†in Excel e la temutissima domanda¬†‚ÄúCosa sono le tabelle pivot?‚ÄĚ. A questa domanda risponderemo in un altro post.
Bene, allora se c’è un linguaggio di programmazione che sei sicuro almeno una volta nella vita potrai usare, quello è proprio il linguaggio che è stato progettato per Excel.
Inoltre, cominciando ad avere delle basi di VBA, comprenderai molto meglio come funziona Excel.
Di conseguenza, non solo¬†velocizzare tutte le attivit√†¬†che fai in ufficio ma imparerai anche a fare qualcosa di pi√Ļ del classico¬†cerca.vert¬†e¬†somma.se.
Tutto questo per dire che, se dobbiamo proprio imparare una lingua straniera, forse non è il caso di imparare l’aramaico antico ma è meglio imparare una lingua come l’inglese, che almeno sei sicuro di usare.
Te lo dico perch√© io ho fatto ‚Äúl‚Äôerrore‚ÄĚ di imparare¬†Python¬†in un momento in cui non mi serviva e, nonostante fosse molto bello, √® molto difficile dargli un‚Äôapplicazione pratica senza perdere molto tempo.
Con VBA, dopo una lezione, hai già un riscontro pratico della sua utilità, come modificare un foglio Excel etc che puoi usare in ufficio il giorno dopo che l’hai imparato.

2. √ą facile, ma non troppo

Per motivi scolastici o personali ho avuto modo di avventurarmi in linguaggi che io reputo ‚Äúsintatticamente complicati‚ÄĚ.
Definisco tali linguaggi come¬†Java¬†o¬†Javascript, dove se non metti un ‚Äú;‚ÄĚ alla fine di una linea¬†non funziona nulla¬†(e buona fortuna a trovare il punto e virgola mancante).
Allo stesso modo, come dicevo prima, ho imparato a programmare anche in Python.
A differenza dei precedenti, reputo Python ‚Äúsintatticamente¬†scarno‚ÄĚ, ovvero che¬†non ha¬†praticamente¬†segni di punteggiatura¬†ed ogni cosa √® ridotta al minimo estremo.
Trovo che VBA sia la giusta via di mezzo, soprattutto per chi non sa programmare.
Non diventa un‚Äôesasperante ricerca del ‚Äú;‚ÄĚ che non fa funzionare il tutto ma allo stesso tempo esige una¬†certa struttura nel codice.
Ciò facilita l’organizzazione mentale e aiuta a capire come funziona un linguaggio di programmazione.
Questa è la differenza di scrittura di un programma molto semplice per scrivere i numeri da 1 a 10 dei tre linguaggi descritti in precedenza:
//Java public class stampaNumeri{ public static void main(string []args){ int counter = 1; for(counter=1; counter<=10; counter++){ System.out.println(counter); } } }
Bene, ma non benissimo. Quando scrivevo in¬†Java, non ricordavo mai i ‚Äú;‚ÄĚ e non chiudevo mai le ‚Äú{‚ÄĚ quindi ogni volta passavo¬†mezz‚Äôora¬†a cercare qual era l‚Äôerrore.
Non il massimo per chi deve imparare a programmare da zero.
#Phyton def stampaNumeri(): for i in range(1,10): print(i)
All’altro estremo dello spettro c’è invece Python, con la sintassi ridotta all’osso, dove si fa fatica a capire dove iniziano e dove finiscono i vari comandi.
Non fraintendermi, Python è una delle migliori lingue in circolazione, solo che a mio parere è troppo poco chiara per chi ha appena iniziato a programmare.
'VBA' sub stampaNumeri() Dim i as integer for i = 1 to 10 debug.print(i) next i End sub
Trovo VBA invece molto ben strutturato: si capisce dove inizia e finisce la sub ma senza troppe parentesi: inizia con il sub e finisce con End sub. Idem il ciclo for, inizia con il For e finisce al next.
Chiaro, coinciso ed efficace.  Ti costringe a strutturare il codice senza diventare matto con la punteggiatura.
VBA 1 Resto 0.

3. √ą¬†perfettamente integrato con il pacchetto office

Essendo un linguaggio di programmazione creato da Microsoft per Windows, VBA è perfettamente integrato con tutti i software del pacchetto Office tra i quali Word, PowerPoint e soprattutto Outlook.
Infatti, tramite VBA, si possono anche inviare mail o modificare i file di testo.
Immagina la seguente situazione: Hai un file Excel in cui aggiorni settimanalmente i dati di vendita.
Ogni settimana devi inviare una mail a diversi venditori, ognuno con le vendite relative alla propria regione o ai propri clienti con calcolate le relative commissioni.
Quanto tempo perderesti ad inviare le mail quella settimana? 1 ora? Se le mail sono tante forse anche 2. In un anno sono circa un centinaio di ore, che forse potresti spendere meglio.
Basta imparare a programmare in VBA e poi puoi eseguire il processo con un click.

4. Impari a programmare in un ambiente familiare

Di nuovo, forse per chi ha studiato informatica questo punto sembrerà un’oscenità, però io ho sempre trovato grandi problemi nel trovare la praticità dei linguaggi di programmazione.
Il problema è che hanno bisogno di un compilatore per funzionare, e risulta difficile dare un’applicazione nel mondo reale.
In primo luogo, quando fai qualcosa è complicato conservare i dati di output del programma.
Ci vuole molta dimestichezza con il linguaggio di programmazione e al massimo riesci a salvare in modalità file di testo (.txt), che rende i dati difficili da leggere.
Inoltre, interagire con Excel non è cosi immediato e richiede un livello di bravura abbastanza avanzato, il che li rende poco pratici per il mondo lavorativo.
Quello che mi ha lasciato senza fiato di VBA è che non ci devi nemmeno pensare a dove salvare i dati. Hai tutto su Excel, tutto quello che fai è sul file e puoi modificarlo a mano nel caso ci siano cose che non tornano o errori.
Puoi salvarlo, inviarlo a chi vuoi e i dati sono di facile lettura, oltre a poter combinare gli strumenti che ti darà VBA con gli strumenti di Excel come le pivot table e le power query.

5. Imparare a programmare in VBA fa un sacco fico

Immagina la situazione: il tuo capo ti scarica un lavoraccio che di solito richiede un giorno di lavoro.
Devi eseguire dei calcoli su una serie di dati che ti sono stati dati, del tipo inserire la provincia estesa in base alla provincia in sigla o qualcos’altro di estremamente noioso e lungo.
Lui si aspetta che riconsegni il file il giorno dopo invece tu, dopo un’ora (compresi di 15 minuti di pausa caffè come premio), gli consegni il file fatto e finito.
Be’ fallo per due o tre persone e in ufficio cominceranno a pensare tu abbia i super-poteri quando in realtà sono bastate tre linee di codice.
Se vuoi altri spunti riguardo a questo argomento, ti consiglio i seguenti articoli:
  • 10 cose che ho scoperto dopo aver imparato a programmare ‚Äď Tim.blog [Link]
  • Come imparare a programmare da soli ‚Äď Freecodecamp.org [Link]
Se tutto questo non ti ha convinto, salva questo articolo e rileggilo al 50¬į copia-incolla che farai nel prossimo Excel. Saremo pronti ad accoglierti quando vorrai.