Gli oggetti VBA di Excel fanno riferimento a singole "entità" costituite da codice e dati. L'applicazione Excel stessa è un oggetto, così come le cartelle di lavoro, i fogli di lavoro, gli intervalli di celle e le forme. Ogni oggetto ha proprietà e metodi associati. Gli oggetti possono contenere anche altri oggetti e l'oggetto collezioni viene utilizzato per fare riferimento a un gruppo degli stessi oggetti Excel.
In questo tutorial, esamineremo alcuni oggetti Excel comunemente usati.
Oggetto Applicazione
L'oggetto applicazione fa riferimento all'intera applicazione Excel. L'oggetto Application contiene l'oggetto cartella di lavoro.
Il codice seguente usa la proprietà WindowState dell'oggetto Application per impostare la finestra di Excel sulla dimensione massima disponibile:
12345 | Sub MaximizingTheExcelWindow()Application.WindowState = xlMaximizedFine sottotitolo |
Oggetto cartelle di lavoro
L'oggetto Cartelle di lavoro fa riferimento alla raccolta di tutte le cartelle di lavoro di Excel attualmente aperte.
Il codice seguente usa il metodo Workbooks.Add per creare una nuova cartella di lavoro e aggiungerla alla raccolta:
12345 | Sub AddingANewWorkbookToTheWorkbooksCollection()Cartelle di lavoro.AggiungiFine sottotitolo |
È possibile accedere a una singola cartella di lavoro nella raccolta Cartelle di lavoro tramite il numero di indice o il nome. Quindi potresti fare riferimento a una cartella di lavoro chiamata ExcelWb, utilizzando Workbooks ("ExcelWB").
Oggetto cartella di lavoro
L'oggetto cartella di lavoro fa parte della raccolta Workbooks. L'oggetto cartella di lavoro contiene la raccolta di fogli di lavoro (fogli di lavoro) e la raccolta di fogli (fogli di lavoro, fogli grafici e fogli macro). L'oggetto ActiveWorkbook fa riferimento alla cartella di lavoro attiva.
Il codice seguente usa il metodo ActiveWorkbook.Save per salvare la cartella di lavoro attiva corrente:
12345 | Sub SavingTheWorkbook()ActiveWorkbook.SalvaFine sottotitolo |
Oggetto Fogli
L'oggetto fogli si riferisce alla raccolta di tutti i fogli di lavoro, fogli grafici e macrofogli in una cartella di lavoro. Il codice seguente usa il metodo Sheets.Add per aggiungere un nuovo foglio di lavoro chiamato ExtraSheet, dopo l'ultimo foglio di lavoro nella cartella di lavoro:
123456 | Sub AddingANewSheet()ActiveWorkbook.Sheets.Add(Dopo:=ActiveWorkbook.Worksheets(Worksheets.Count), Conteggio:=1, _Tipo:=xlWorksheet).Name = "ExtraSheet"Fine sottotitolo |
Nota che la sintassi del metodo Sheets.Add è:
Fogli.Aggiungi(Prima, Dopo, Contare, Tipo) dove:
-Before è facoltativo e specifica che il nuovo foglio deve essere aggiunto prima di un foglio esistente.
-After è facoltativo e specifica che il nuovo foglio deve essere aggiunto dopo un foglio esistente.
-Count è facoltativo e specifica il numero di fogli da aggiungere.
-Type è facoltativo e specifica il tipo di foglio. xlWorksheet aggiungerà un nuovo foglio di lavoro, xlChart aggiungerà un nuovo foglio grafico e xlExcel4MacroSheet o xlExcel4IntlMacroSheet aggiungerà un nuovo macrosheet. Se vuoto, viene utilizzato xlWorksheet predefinito.
È possibile accedere a un singolo foglio nella raccolta Fogli tramite il numero di indice o il nome. Quindi potresti fare riferimento a un foglio di lavoro chiamato SheetOne, usando Sheets ("SheetOne").
Oggetto Fogli di Lavoro
L'oggetto Fogli di lavoro fa riferimento alla raccolta di tutti i fogli di lavoro in una cartella di lavoro. Il codice seguente usa il metodo Worksheets.Add per aggiungere un nuovo foglio di lavoro:
12345 | Sub AddingANewSheet()Fogli di lavoro.AggiungiFine sottotitolo |
È possibile accedere a un singolo foglio nella raccolta Fogli di lavoro tramite il numero di indice o il nome. Quindi potresti fare riferimento a un foglio di lavoro chiamato SheetTwo, usando Worksheets ("SheetTwo").
Oggetto del foglio di lavoro
L'oggetto foglio di lavoro fa parte della raccolta Fogli di lavoro. L'oggetto del foglio di lavoro contiene l'oggetto intervallo e altri oggetti. L'oggetto ActiveSheet fa riferimento al foglio attivo.
Il codice seguente modifica l'orientamento della pagina del foglio attivo in orizzontale:
12345 | Sub ChangingOrientationToLandscape()ActiveSheet.PageSetup.Orientation = xlLandscapeFine sottotitolo |
Nota che l'oggetto Sheet contiene l'oggetto PageSetup e la sua proprietà di orientamento è impostata su xlLandscape.
Oggetto intervallo
L'oggetto Range può fare riferimento a una singola cella oa un insieme di celle in un foglio di lavoro. Il codice seguente mostra come utilizzare il metodo Range.Select per selezionare le celle A1: B1:
12345 | Sub SelectingARrange()Intervallo ("A1: B1"). SelezionaFine sottotitolo |
Oggetto Forme
L'oggetto Shapes si riferisce alla raccolta di tutte le forme in un foglio di lavoro. Il codice seguente selezionerebbe tutte le forme su ActiveSheet:
12345 | Sub SelectingAllTheShapes()ActiveSheet.Shapes.SelectAllFine sottotitolo |
Oggetto forma
L'oggetto Shape fa parte della collezione Shapes. Il codice seguente creerebbe una forma rettangolare arrotondata e quindi imposterebbe la proprietà del nome dell'oggetto forma:
123456789 | Sub UsingTheShapeObject()Con fogli di lavoro(1).Shapes.AddShape(msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Un rettangolo arrotondato"Termina conFine sottotitolo |
Modello a oggetti VBA di Excel
Il modello di oggetti VBA di Excel descrive la gerarchia di tutti gli oggetti che è possibile utilizzare in Excel. Ad esempio, è possibile utilizzare l'oggetto Workbooks per fare riferimento a tutti gli altri oggetti indirettamente o direttamente. Il codice seguente mostra come selezionare la cella A1, utilizzando la struttura gerarchica:
12345 | Sub UsingTheHerachicalStructure()Cartelle di lavoro("Libro1").Fogli di lavoro("Foglio1").Intervallo("A1").SelezionaFine sottotitolo |
Dichiarazione e assegnazione di una variabile oggetto
Puoi dichiarare e assegnare un oggetto a una variabile usando le parole chiave Dim e Set.
Per esempio:
12 | Dim ws come foglio di lavoroImposta ws = ActiveWorkbook.ActiveSheet |
Il codice seguente mostra come dichiarare e assegnare un oggetto Range a una variabile:
12345678910111213141516 | Sub AssigningARangeToAVariable()Dim rngOne As ObjectImposta rngOne = Intervallo ("A1: C1")rngOne.Font.Bold = TrueCon rngOne.Font.Bold = True.Font.Name = "Calibri".Dimensione carattere = 9.Font.Colore = RGB(35, 78, 125).Colore.Interno = RGB(205, 224, 180).Borders(xlEdgeBottom).LineStyle = xlContinuousTermina conFine sottotitolo |
Il risultato è:
È essenziale capire come funzionano gli oggetti per padroneggiare VBA. Puoi saperne di più con il nostro Tutorial VBA interattivo.