Hoe gebruik ik een excel-spreadsheet in vba?
In VBA vertegenwoordigt het werkbladobject een enkel werkblad dat deel uitmaakt van de verzameling werkbladen (of bladen) van de werkmap. Met behulp van het werkbladobject kunt u naar het werkblad in VBA-code verwijzen. Als u naar een werkblad verwijst, heeft u ook toegang tot de eigenschappen, methoden en gebeurtenissen die daarmee verband houden.
Hier volgt een kort overzicht van de positie van een werkblad in de Excel-objecthiërarchie.
Toepassing ➪ Werkboek ➪ Werkbladen ➪ Werkblad
In deze zelfstudie leren we hoe u een werkblad in Excel kunt gebruiken en ernaar kunt verwijzen met behulp van VBA-code.
Handige links: Een macro uitvoeren – Macrorecorder – Visual Basic Editor – Handboek voor persoonlijke macro’s
Spreadsheets versus spreadsheets
Laten we beginnen met het begin. Dit is belangrijk om het verschil tussen een spreadsheet en een blad te begrijpen. In Excel heb je typen werkbladen die je in een werkmap kunt invoegen, en een werkblad is daar één van. Zoals u in de onderstaande momentopname kunt zien wanneer u een nieuw blad invoegt, vraagt Excel u om het bladtype te selecteren.
Dit is wat u moet begrijpen: als u het woord ‘werkbladen’ gebruikt, verwijst u naar alle werkbladen (spreadsheets, macrobladen en grafiekbladen), maar als u het woord ‘werkblad’ gebruikt, verwijst u alleen naar spreadsheets ( zie Ook ).
Toegang tot een werkblad (blad) met VBA
VBA biedt u verschillende manieren om toegang te krijgen tot een werkblad vanuit een werkmap, en we zullen later kijken naar verschillende manieren om dat te doen.
1. Verwijs naar een blad met de naam
Elk blad heeft een naam om het te identificeren, en u kunt deze ook gebruiken om naar dat blad te verwijzen. Stel dat u naar “Blad1” wilt verwijzen, dan zou de code er als volgt uitzien:
Sheets(“Sheet1”) Worksheets(“Sheet1”)
De twee bovenstaande codes verwijzen naar “Blad1”.
2. Raadpleeg het blad met behulp van het nummer
U kunt ook een bladnummer gebruiken om ernaar te verwijzen. Stel dat als een blad op de vijfde positie in de werkmap staat, u dat nummer kunt gebruiken om ernaar te verwijzen.
Sheets (5) Worksheets (5)
Hierboven staan twee regels code die op twee verschillende manieren werken. De eerste rij verwijst naar het vijfde blad en de tweede naar het vijfde werkblad in de werkmap.
3. Raadpleeg het ActiveSheet
Als een blad al actief is, kunt u ernaar verwijzen door het trefwoord ‘Activesheet’ te gebruiken in plaats van de naam ervan.
ActiveSheet
Als u een activiteit in ActiveSheet wilt uitvoeren, kunt u het object “Activesheet” gebruiken, maar als u dit niet gebruikt, voert VBA de activiteit nog steeds uit in het actieve werkblad.
Lezen: Selecteer een bereik met VBA
4. Raadpleeg een blad met de naam van het codevenster
Elk blad heeft een codevenster en er is een naam voor dit codevenster. Normaal gesproken kan een gebruiker de bladnaam vanaf het tabblad wijzigen, maar de naam die u in het codevenster hebt, kan niet worden gewijzigd, tenzij u dit via de eigenschappen doet.
Open Visual Basic Editor vanaf het tabblad Ontwikkelaar en in het eigenschappengedeelte ziet u de naam van het blad dat u hebt geselecteerd.
En u kunt deze naam ook wijzigen vanuit het eigenschappengedeelte.
U kunt er nu naar verwijzen met behulp van de naam van het codevenster.
mySheet
5. Raadpleeg Meerdere bladen
U kunt ook naar meerdere bladen tegelijk verwijzen met behulp van één regel code. Hiervoor kun je een array gebruiken, net als de volgende code.
Sheets(Array("Sheet1", "Sheet2"))
Deze code verwijst naar “Blad1” en “Blad2”, maar er is één ding dat u moet begrijpen als u naar meerdere bladen verwijst: er zijn een paar methoden en eigenschappen die u niet kunt gebruiken.
6. Raadpleeg het blad in een andere werkmap
Een werkblad of blad maakt deel uit van de verzameling werkbladen in een werkmap en als u naar een specifiek blad wilt verwijzen, anders dan de actieve werkmap, moet u eerst naar die werkmap verwijzen.
Workbooks("Book1").Sheets("Sheet1")
Om deze code uit te voeren moet u “Book1” geopend hebben.
Eigenschappen, methoden en gebeurtenissen met betrekking tot een werkblad of werkblad
In VBA heeft elk Excel-object eigenschappen, methoden en gebeurtenissen die u kunt gebruiken, en op dezelfde manier heeft u toegang tot de eigenschappen en methoden die daarbij horen. Nadat u een werkblad heeft opgegeven, typt u een punt (.) en krijgt u de lijst.
In deze lijst zijn alle iconen waar je een hand kunt zien eigenschappen, en waar je een groene steen hebt zijn methoden.
Eigenschap voorbeeld
Stel dat u de kleur van het werkbladtabblad wilt wijzigen. In dit geval kunt u de eigenschap TAB van het werkblad gebruiken.
mySheet.Tab.ThemeColor = xlThemeColorAccent2
In de bovenstaande coderegel hebt u de tab-eigenschap en een andere themakleur-eigenschap om de kleur van het werkbladtabblad te wijzigen.
Voorbeeld methode
Op dezelfde manier kunt u de methoden gebruiken die bij de spreadsheets worden geleverd. Een van de meest gebruikelijke methoden is de “Select”-methode waarmee u een blad kunt selecteren.
mySheet.Select
Op het moment dat u deze code uitvoert, wordt “mySheet” in de actieve werkmap geselecteerd.
Voorbeeld evenement
Sommige gebeurtenissen zijn gekoppeld aan een werkblad. Wanneer u bijvoorbeeld een blad activeert, is het een gebeurtenis, en hetzelfde geldt wanneer u iets in het blad wijzigt. Zie de volgende code waarin u code hebt die moet worden uitgevoerd wanneer een gebeurtenis (wijziging in het werkblad) plaatsvindt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("A1").Value = Range("A1").Value + 1 End Sub
Deze code voert elke keer dat u een wijziging aanbrengt in het werkblad een waarde in cel A1 van het blad in.
Declareer een werkbladobject
U kunt een variabele ook als werkblad declareren, waardoor u dat werkblad gemakkelijker in VBA-code kunt gebruiken. Gebruik eerst het DIM-trefwoord en vervolgens de naam van de variabele. Geef daarna het objecttype op als Werkblad.