Questo tutorial ti insegnerà come definire le variabili oggetto utilizzando l'istruzione Set in VBA.
Definizione di variabili oggetto
Gli oggetti sono la pietra angolare di Microsoft Office: senza oggetti, non possiamo ottenere nulla. In Excel, gli oggetti includono la cartella di lavoro, il foglio di lavoro o gli oggetti intervallo. In Microsoft Word, gli esempi sono l'oggetto Documento o Tabella. Ogni oggetto ha una varietà di Proprietà e metodi che può essere programmato per controllare il comportamento di quell'oggetto.
Dichiarazione della variabile oggetto
Prima di poter fare riferimento all'oggetto nel codice e quindi controllare l'oggetto, è necessario dichiarare l'oggetto. Possiamo farlo usando la Dichiarazione Dim.
123456 | Dim wkb come cartella di lavoroDim wks come foglio di lavoroDim Rng come intervalloDim wdDoc come documentoDim wdTbl come tabellaDim shp come forma |
Questo fioco la dichiarazione può avvenire all'interno di una procedura:
o al di fuori di una procedura a livello di modulo:
Se la variabile è dichiarata a livello di modulo (al di fuori della procedura), la variabile può essere utilizzata in tutto il modulo.
Se la variabile oggetto viene dichiarata con l'istruzione Public, la variabile può essere utilizzata in tutto il progetto VBA:
Valore impostato
Una volta dichiarato l'oggetto, è necessario assegnare un valore all'oggetto. Questo deve essere fatto usando il Imposta dichiarazione e può essere fatto solo entro un Procedura.
12345 | SottoinsiemeOggetti()Imposta wkb = ActiveWorkbookImposta sett = Foglio1Imposta rng = Intervallo ("A1: G4")Fine sottotitolo |
Nota: questo è diverso dall'assegnazione di valori a variabili non oggetto. È NECESSARIO utilizzare l'istruzione Set per assegnare l'oggetto alla variabile. In caso contrario, riceverai un errore:
Dopo aver assegnato un valore all'oggetto, puoi scrivere codice per controllare il comportamento o manipolare l'oggetto.
Programmazione VBA | Il generatore di codice funziona per te!
Esempi di oggetti in Excel
Oggetto cartella di lavoro
Dopo aver dichiarato una variabile della cartella di lavoro, è possibile assegnare una cartella di lavoro a quell'oggetto e utilizzare le proprietà ei metodi disponibili per manipolare quell'oggetto. Nell'esempio seguente salveremo una cartella di lavoro.
123456789101112 | Oggetto sottocartella di lavoro()'dichiarare l'oggetto cartella di lavoroDim wkb come cartella di lavoro'assegna una cartella di lavoro non salvata all'oggettoImposta wkb = Cartelle di lavoro("Libro1")'salva la cartella di lavorowkb.SaveAs "C:\data\testbook.xlsx"'chiudi la cartella di lavorowkb.chiudi'ricordati di rilasciare l'oggettoImposta wkb = NienteFine sottotitolo |
Oggetto del foglio di lavoro
Allo stesso modo puoi manipolare uno o più fogli di lavoro dopo aver dichiarato il foglio di lavoro come variabile. Nell'esempio seguente, rinominiamo Sheet1 e Sheet2.
12345678910111213 | OggettoFoglio di lavoro secondario()Dim wks1 come foglio di lavoroDim wks2 come foglio di lavoro'inizializzare gli oggettiImposta sett1 = Foglio1Imposta sett2 = Foglio2'rinomina i fogliwks1.Name = "Clienti"wks2.Name = "Prodotti"'imposta gli oggetti su nientewks1 = Nientewks2 = NienteFine sottotitolo |
Stanco di cercare esempi di codice VBA? Prova AutoMacro!
Oggetto intervallo
L'oggetto Range è uno degli oggetti più utili da manipolare in Excel. Nell'esempio seguente, mettiamo in grassetto l'intervallo da A1 a E1 e lo formattiamo con un bordo inferiore.
12345678910111213 | Oggetto intervallo secondario()Dim rng1 come intervallo'inizializzare la gammaImposta rng = Intervallo ("A1: E1")'grassa l'intervallo e imposta il bordo inferiorerng.Font.Bold = TrueCon rng1.Borders(xlEdgeBottom).LineStyle = xlContinuo.Indice Colore = 0.TintAndShade = 0.Peso = xlSottileTermina conFine sottotitolo |
Oggetto forma
Puoi anche utilizzare le variabili oggetto per lavorare con le forme.
123456789101112 | Sub Aggiungi forma()Dim shp come forma'crea la formaImposta shp = ActiveDocument.Shapes.AddShape(msoShapeSmileyFace, 68.25, 225.75, 136.5, 96#)con shp'cambiare dentro colore e stile.Fill.ForeColor.RGB = RGB(255, 255, 0).Riempimento.Solido'aggiusta il sorriso!.Rettifiche.Articolo(1) = 0,07181Termina conFine sottotitolo |