TOP

VBA-Lezione 1. Cos'è VBA. Concetti basilari.

In questa sezione considereremo cos'è VBA, poiché su di esso sono scritte le macro.

Cos'è VBA?

VBA è un linguaggio di programmazione incorporato (sta per Visual Basic for Applications) sviluppato da Microsoft. Questo linguaggio non è indipendente, ma è destinato esclusivamente all'automazione dei processi nel pacchetto MS Office. VBA è ampiamente utilizzato in Excel, così come in Access, Word e altri programmi della suite.

VBA è un semplice linguaggio di programmazione che chiunque può imparare. Una volta imparato, sarai in grado di impartire comandi Excel, cosa fare con colonne, righe, valori di cella, spostare/aggiungere/ordinare fogli di lavoro, visualizzare messaggi preprogrammati, scrivere formule e funzioni personalizzate e altro ancora. L'essenza del linguaggio è operare sugli oggetti.

Per lavorare con il codice VBA, abbiamo bisogno di un editor (Visual Basic Editor), che è già installato in Excel per impostazione predefinita. Puoi aprirlo premendo la combinazione di tasti "Alt+F11".

Oggetti (Objects)

Capiamo cos'è un oggetto in VBA.

VBA Un oggetto è un elemento, una particella strutturale Excel, vale a dire: libro, foglio, intervallo, cella.

Gli oggetti VBA hanno una gerarchia, cioè sono subordinati l'uno all'altro. Schematicamente la struttura gerarchica in Excel può essere rappresentata come segue:

L'oggetto più importante è Application, che corrisponde al programma Excel stesso. Poi arriva Workbook (libro), Worksheet (foglio), Range (intervallo o singola cella).

Ad esempio, per fare riferimento alla cella "A1" del foglio di lavoro, dovremmo scrivere il seguente percorso, tenendo conto della gerarchia:

Application.Workbooks("Archive").Worksheets("Sheet1").Range("A1")

Pertanto, abbiamo imparato a fare riferimento all'oggetto più piccolo in Excel: una cella.

Raccolte (Collections)

A loro volta, gli oggetti VBA appartengono a "collezioni".

VBA Una collezione è un gruppo (array) di oggetti della stessa classe (un insieme di libri, fogli, ecc.). Sì, tutti gli oggetti Worksheet sono elementi della raccolta Worksheets. A sua volta anche la collezione è un oggetto.

Gli stessi oggetti possono appartenere a più collezioni. Ad esempio, anche gli oggetti Worksheet appartengono alla raccolta Sheets. La raccolta Sheets contiene tutti i fogli presenti nella cartella di lavoro: sia i grafici, che sono anche considerati fogli (Chart), sia i fogli dati (Worksheet).

In VBA Excel esistono le seguenti raccolte:

  • Workbooks (contiene oggetti Workbook)
  • Worksheets (oggetti Worksheet)
  • Sheets (oggetti Worksheet e Chart)
  • Ranges (oggetti Ranges)
  • ChartObjects (oggetti ChartObject)
  • PivotTable (oggetti PivotTable)
  • e molti altri...
  • Proprietà (Properties)

    Ogni oggetto in VBA ha proprietà. Ad esempio, un oggetto Range ha una proprietà Value o Formula.

    Worksheets("Sheet1").Range("A1").Value o Worksheets("Sheet1").Range("A1").Formula

    In questo esempio, la proprietà visualizza il valore immesso nella cella o nella formula immessa.

    Inoltre, tramite la proprietà Formula, non solo puoi ottenere la formula, ma anche scriverla:

    MsgBox Range("A1").Formula - riceveremo un messaggio con la formula nella cella "A1";

    Range("B12").Formula = "=2+6*100" - inserisci la formula "=2+6*100" nella cella "B12".

    Metodi (Methods)

    Ora vediamo come possiamo manipolare il contenuto di un intervallo o di una cella. Per questo ci sono i cosiddetti metodi (comandi "cosa fare") in VBA. Durante la scrittura del codice, i metodi vengono separati dall'oggetto con un punto, ad esempio:

    Range("A1").Select o Cells(1,1).Select

    Questo metodo specifica di selezionare (Select) la cella "A1".

    Successivamente, eliminiamo il valore in questa cella. Per questo, scriveremo il seguente codice.

    Selection.ClearContents

    Qui il programma "prende" ciò che abbiamo selezionato (Selection) e ne cancella il contenuto (ClearContents).