In deze zelfstudie leert u hoe u objectvariabelen definieert met behulp van de Set-instructie in VBA.
Objectvariabelen definiëren
Objecten zijn de hoeksteen van Microsoft Office - zonder objecten kunnen we niets bereiken. In Excel omvatten objecten de werkmap, het werkblad of de bereikobjecten. In Microsoft Word zijn voorbeelden het document- of tabelobject. Elk object heeft een verscheidenheid aan Eigendommen en Methoden: die kan worden geprogrammeerd om het gedrag van dat object te regelen.
De objectvariabele declareren
Voordat we in code naar het object kunnen verwijzen en daarom het object kunnen besturen, moeten we het object declareren. Dit kunnen we doen met behulp van het Dim Statement.
123456 | Dim wkb als WerkboekDim wks als werkbladDim Rng als bereikDim wdDoc als documentDim wdTbl als tabelDim shp als vorm |
Dit dim aangifte kan plaatsvinden binnen een procedure:
of buiten een procedure op moduleniveau:
Als de variabele op moduleniveau wordt gedeclareerd (buiten de procedure), kan de variabele in de hele module worden gebruikt.
Als de objectvariabele wordt gedeclareerd met de Public-instructie, kan de variabele in het hele VBA-project worden gebruikt:
Waarde instellen
Nadat u het object hebt gedeclareerd, moet u een waarde aan het object toewijzen. Dit moet worden gedaan met behulp van de Stel verklaring in en kan alleen worden gedaan binnen een Procedure.
12345 | SubsetObjecten()Stel wkb = ActiveWorkbook inStel wkn in = Blad1Stel rng = Bereik ("A1:G4") inEinde sub |
Opmerking: Dit is iets anders dan het toewijzen van waarden aan niet-objectvariabelen. U MOET de instructie Set gebruiken om het object aan de variabele toe te wijzen. Als u dit niet doet, krijgt u een foutmelding:
Nadat u een waarde aan het object hebt toegewezen, kunt u code schrijven om het gedrag te controleren of het object te manipuleren.
VBA-programmering | Code Generator werkt voor u!
Objectvoorbeelden in Excel
Werkmapobject
Nadat u een werkmapvariabele hebt gedeclareerd, kunt u een werkmap aan dat object toewijzen en de beschikbare eigenschappen en methoden gebruiken om dat object te manipuleren. In het onderstaande voorbeeld gaan we een werkmap opslaan.
123456789101112 | SubwerkmapObject()'declareer het werkmapobject'Dim wkb als Werkboek'een niet-opgeslagen werkmap toewijzen aan het object'Stel wkb = Werkboeken ("Boek1") in'bewaar de werkmap'wkb.SaveAs "C:\data\testbook.xlsx"'sluit het werkboek'wkb.close'vergeet niet om het object los te laten'Stel wkb = Niets inEinde sub |
Werkbladobject
Op dezelfde manier kunt u een werkblad of werkbladen manipuleren nadat u het werkblad als een variabele hebt gedeclareerd. In het onderstaande voorbeeld hernoemen we Blad1 en Blad2.
12345678910111213 | SubwerkbladObject()Dim wks1 als werkbladDim wks2 als werkblad'initialiseer de objecten'Set wks1 = Blad1Set wks2 = Blad2'hernoem de bladen'wks1.Name = "Klanten"wks2.Name = "Producten"'zet de objecten op niets'wks1 = Nietswks2 = NietsEinde sub |
Moe van het zoeken naar voorbeelden van VBA-codes? Probeer AutoMacro!
Bereikobject
Het Range-object is een van de handigste objecten om in Excel te manipuleren. In het onderstaande voorbeeld maken we bereik A1 tot E1 vet en formatteren we het met een onderrand.
12345678910111213 | SubbereikObject()Dim rng1 Als bereik'het bereik initialiseren'Stel rng = Bereik ("A1:E1") in'vet het bereik en stel de onderrand in'rng.Font.Bold = TrueMet rng1.Borders(xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Gewicht = xlDunEindigt metEinde sub |
Vormobject
U kunt ook objectvariabelen gebruiken om met vormen te werken.
123456789101112 | Sub AddShape()Dim shp als vorm'creëer de vorm'Stel shp = ActiveDocument.Shapes.AddShape in (msoShapeSmileyFace, 68.25, 225.75, 136.5, 96#)Met shp'verandering binnen kleur en stijl'.Fill.ForeColor.RGB = RGB(255, 255, 0).Vul.Solid'pas de glimlach aan!.Aanpassingen.Item(1) = 0.07181Eindigt metEinde sub |