Oggetti VBA

Sommario

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.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave