Oggetti vba: semplice spiegazione illustrata
Visual Basic for Applications è un linguaggio orientato agli oggetti e per trarne il massimo è necessario comprendere gli oggetti di Excel. La cartella di lavoro utilizzata in Excel è composta da diversi oggetti.
E ci sono diverse proprietà collegate a un oggetto a cui puoi accedere e diversi metodi che puoi utilizzare su/con un oggetto. Capiamolo con un esempio.
Pensa a un grande negozio di alimentari, che ha diverse sezioni per i prodotti, e poi quelle sezioni hanno anche scaffali e, all’interno di quegli scaffali, prodotti.
Quindi se vuoi comprare vestiti devi andare nella sezione abbigliamento e nella sezione abbigliamento potresti avere sottosezioni per uomini e donne.
E quando scegli un tessuto, quel tessuto avrà un colore, una dimensione e un tessuto specifici (che sono le proprietà di quel tessuto).
Allo stesso modo, in VBA ci sono oggetti strutturati in una gerarchia.
Modello di oggetti VBA (gerarchia)
Nell’applicazione Excel, quando apri una cartella di lavoro, in quella cartella di lavoro hai un foglio di lavoro (o più fogli di lavoro) e in quel foglio di lavoro hai celle e un intervallo di celle.
La gerarchia di Excel inizia con la stessa applicazione Excel e di seguito è riportata la struttura che definisce questa gerarchia:
Diciamo che se vuoi fare riferimento a una cartella di lavoro, il codice che hai scritto dovrebbe assomigliare a questo:
Nel codice sopra, ti riferisci alla cartella di lavoro “Book1”.
Quello che hai scritto è che ti riferisci prima all’applicazione Excel e hai utilizzato “Cartelle di lavoro” che fa ulteriormente parte dell’oggetto Applicazione.
Ora diciamo che vuoi andare oltre e vuoi fare riferimento a un foglio di lavoro nella cartella di lavoro “Libro1” e il codice corrispondente sarebbe:
Sai cosa significa, vero? Ma lascia che te lo dica. Nel codice sopra, dopo aver fatto riferimento alla cartella di lavoro “Libro1”, hai fatto riferimento al foglio di lavoro “Foglio1” che è un’altra parte della cartella di lavoro.
Andiamo un po’ oltre. Facciamo riferimento a una cella specifica nel foglio di lavoro “Foglio1” e il codice corrispondente sarebbe:
Prima che tu lo chieda, lascia che ti dica questo. Nel codice sopra, hai fatto riferimento alla cella A1 che si trova nel foglio di lavoro “Foglio1” della cartella di lavoro “Libro1”.
Quando si fa riferimento a un oggetto Range in questo modo, viene chiamato riferimento completo.
Nota: l’utilizzo dell’oggetto Application è facoltativo. Motivo? Quando fai qualcosa in VBA, sei già nell’applicazione Excel.
Semplificare il riferimento a un oggetto
Nel codice sopra hai utilizzato un riferimento completo. Ciò significa che dici a VBA a quale cartella di lavoro, foglio di lavoro e cella fare riferimento. Ma cosa succede se sei già nella cartella di lavoro del Libro 1?
In questo caso, puoi semplicemente fare riferimento al foglio di lavoro in cui desideri fare riferimento a una cella, proprio come il codice seguente:
Inoltre, se il foglio di lavoro “Foglio1” è abilitato, puoi semplicemente fare riferimento alla cella o all’intervallo di celle, proprio come nel codice seguente:
Ulteriori informazioni sugli oggetti VBA: Oggetto cartella di lavoro VBA | Oggetto foglio di calcolo VBA | Oggetto intervallo VBA