VBA-werkbladen - Hoe werkbladobject in VBA te gebruiken?

Inhoudsopgave

Excel VBA-werkbladen

Excel is een werkmap en in die werkmap bevat het werkbladen of bladen. Het is erg belangrijk om het concept van werkbladen in VBA te begrijpen, omdat we de hele tijd met werkbladen werken. In een normaal Excel-bestand noemen we het als bladen, maar in VBA-terminologie wordt het "Werkblad" genoemd. Alle verzamelingen van een werkblad worden "werkbladen" genoemd.

In VBA is het werkblad een object. Er zijn twee manieren om naar het werkblad te verwijzen, een met behulp van het "Worksheet" -object en een andere met het "Sheets" -object.

Ik weet dat uw vraag is wat het verschil tussen hen is. In Excel kunnen we twee soorten bladen zien, een is gewone werkbladen en een andere is grafiekbladen.

Het werkbladtabblad in Excel houdt alleen rekening met de werkbladen in de werkmap, met uitzondering van grafiekbladen. "Sheets" beschouwt alle werkbladen in de werkmap, inclusief het grafiekblad. Kijk bijvoorbeeld naar de onderstaande afbeelding.

In het bovenstaande hebben we in totaal 5 vellen. Van deze 5 bladen zijn er 3 werkbladen en 2 zijn grafiekbladen.

Hier is het aantal "Werkbladen" 3, en het aantal "Bladen" is 2.

Kijk nu naar de onderstaande afbeelding.

Hier zijn alle bladen werkbladen, dus het aantal van zowel "Werkblad" als "Bladen" is 3.

Dus, als onderdeel van de code, als u werkbladen wilt gebruiken, onthouden objecten dit punt.

Syntaxis van VBA-werkbladen

Zoals ik al zei, is het werkblad een objectvariabele. Dit heeft echter ook een syntaxis.

De index is niets dat het werkbladnummer is waarnaar we verwijzen. Zoals je uiteindelijk kunt zien, wordt het Object genoemd.

Bijvoorbeeld, werkblad (1) rechtenmenu.Selecteer middelen voor het eerste werkblad van de werkmap. Het maakt niet uit wat de naam van het werkblad is; wat het werkblad het eerst in de werkmap is ingevoegd, wordt geselecteerd.

We kunnen ook met de naam naar het werkblad verwijzen. We moeten de volledige naam vermelden omdat het een werkbladnaam is tussen dubbele aanhalingstekens.

Bijvoorbeeld Werkblad ("Verkoopblad"). Selecteren betekent dat u het blad met de naam "Verkoopblad" selecteert. Hier maakt het niet uit wat het nummer van het werkblad is, het selecteert altijd het opgegeven werkblad.

Hoe Worksheets Object in VBA te gebruiken?

Voorbeeld 1

Stel dat uw werkmap in totaal vijf bladen bevat en dat de naam van die werkbladen "Werkblad 1", "Werkblad 2", "Werkblad 3", "Grafiekblad 1" en "Grafiekblad 2" is.

Als ik de nummering gebruik om het werkblad te selecteren, kan ik het nummer gebruiken als werkbladverwijzing.

Werkblad (2). Selecteren betekent dat het tweede werkblad van de werkmap wordt geselecteerd.

Code:

Sub Worksheet_Example1 () Worksheets (2). Selecteer End Sub

Ik zal deze code uitvoeren met de F5-toets of handmatig en zie het resultaat.

Nu zal ik het bladnummer veranderen in 3.

Code:

Sub Worksheet_Example1 () Worksheets (3). Selecteer End Sub

Kijk nu wat er gebeurt als u de code handmatig uitvoert of de F5-sleutelcode gebruikt.

Als je kijkt naar de bovenstaande afbeelding, was het de 4 geselecteerd e werkblad toen ik vroeg naar de 3 selecteren rd werkblad.

Dit komt omdat ik het Worksheet-object heb gebruikt, niet het Sheets-object. Zoals ik al eerder zei, beschouwt het object "Werkbladen" alleen werkbladen, niet grafiekbladen.

Gebruik het object Sheets om het derde blad van alle bladen in de werkmap te selecteren.

Code:

Sub Worksheet_Example1 ()

Bladen (3). Selecteren

Einde Sub

Nu zal het exact het derde blad selecteren.

Voorbeeld # 2 - Selecteer werkbladen op naam

Het selecteren van de bladen op naam, is de juiste manier om naar het blad te verwijzen. Als we bijvoorbeeld het blad "Werkblad 3" willen selecteren, kunt u de onderstaande code gebruiken.

Code:

Sub Worksheet_Example2 () Worksheets ("Werkblad 3"). Selecteer End Sub

Dit selecteert het exacte blad; het maakt niet uit waar het in de werkmap wordt geplaatst.

Maar als u het diagramblad probeert te openen met het object 'Werkbladen', krijgen we de fout 'Subscript buiten bereik' te zien.

Code:

Sub Worksheet_Example2 () Worksheets ("Chart Sheet 1"). Selecteer End Sub

Voer deze code uit via de F5-toets of handmatig en bekijk het resultaat.

Voorbeeld # 3 - Probleem met werkbladnaam

Er is nog een probleem met het verwijzen naar de bladen bij de naam. Als iemand de naam van het werkblad wijzigt, krijgen we nogmaals de foutmelding 'Abonnement buiten bereik'.

Om dit probleem op te lossen, gaat u naar de visuele basiseditor door op ALT + F11 te drukken.

Selecteer nu de bladnaam en druk op de F4- toets om het eigenschappenvenster te zien.

In deze eigenschappen verandert het venster de naam van het werkblad in jouw naam.

Een interessant ding hier is, hoewel we de naam van het werkblad hebben gewijzigd van "Werkblad 1" in "WS1", we nog steeds dezelfde naam kunnen zien in de werkmap.

Nu kunnen we naar dit blad verwijzen met de naam "WS1".

Code:

Sub Worksheet_Example2 () Worksheets ("WS1"). Selecteer End Sub

Nu maakt het niet uit wie de naam van het werkblad verandert. Toch verwijst onze code naar hetzelfde blad, zolang het de in de visuele basiseditor niet verandert.

Voorbeeld # 4 - Verkrijg het totaal aantal vellen in de werkmap

Een werkblad is een object en we kunnen alle bijbehorende eigenschappen en methoden gebruiken. Wat doen we met werkbladen?

We voegen werkbladen in. We hernoemen werkbladen. We verwijderen werkbladen en vele andere dingen die we ermee doen.

Voer het object "Werkbladen" in en plaats een punt om alle opties te zien.

Gebruik VBA Count Property om de telling van de werkbladen te krijgen.

Code:

Sub Worksheet_Example3 () Dim i As Long i = Worksheets.Count MsgBox i End Sub

Dit toont het aantal werkbladen.

Hoewel er 5 bladen zijn, hebben we de telling als 3 omdat de andere 2 bladen kaartbladen zijn.

Gebruik het "Sheets" -object om het totale aantal vellen te krijgen.

Code:

Sub Worksheet_Example3 () Dim i As Long i = Sheets.Count MsgBox i End Sub

Dit toont het volledige aantal vellen.

Voorbeeld # 5 - Methoden met behulp van een werkbladobject

Nadat we het werkbladobject hebben ingevoerd, hebben we toegang tot alle eigenschappen en objecten die eraan zijn gekoppeld. We kunnen een nieuw blad toevoegen. We kunnen verwijderen, enz.

Om een ​​nieuw blad toe te voegen.

Werkblad. Toevoegen

Om werkblad te verwijderen

Werkblad ("Bladnaam") Verwijderen

Om de naam van het werkblad te wijzigen

Werkblad ("Bladnaam"). Name = "Nieuwe naam"

Interessante artikelen...