Hoe gebruik ik de thisworkbook vba-variabele in excel?

In VBA kunt u de eigenschap ThisWorkbook gebruiken om te verwijzen naar de werkmap waarin u code schrijft. Wanneer u het gebruikt, heeft u toegang tot alle eigenschappen en methoden van de huidige werkmap. Simpel gezegd kunt u alle taken in de huidige werkmap uitvoeren zonder de naam te gebruiken.

Stel dat u de bladen in de huidige werkmap wilt tellen. De code die u moet schrijven, is als volgt.

 Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
vba-deze werkmap

Wanneer u deze code uitvoert, verschijnt er een berichtvenster met het aantal werkbladen dat u in de huidige werkmap hebt.

berichtenbox-met-bladaantal

Zoals ik al zei, geeft het u toegang tot de eigenschappen en methode van de huidige werkmap als u ThisWorkbook gebruikt. U kunt dit allemaal zien als u een punt (.) invoert om de volledige lijst te zien.

toegang tot eigendommen

Handige links: Een macro uitvoerenMacrorecorderVisual Basic EditorHandboek voor persoonlijke macro’s

ThisWorkbook gebruiken met een variabele

Vervolgens laat ik u een echt codevoorbeeld zien voor het declareren van een variabele om de eigenschap ThisWorkbook te gebruiken. Stel dat u verschillende activiteiten in de huidige werkmap wilt uitvoeren.

 Sub vba_thisworkbook() Dim myWB As Workbook Set myWB = ThisWorkbook With myWB .Activate .Sheets(1).Activate .Range("A1") = Now .Save .Close End With End Sub

In het eerste deel van deze code heb je een variabele en geef deze de eigenschap “ThisWorkbook”. En dan heb je in het tweede deel de WITH STATEMENT om meerdere activiteiten uit te voeren met de huidige variabele.

ActiveWorkBook versus deze werkmap

Laat me het je uitleggen met een eenvoudige analogie, dus wees geduldig voor de komende twee minuten.

U hebt twee werkmappen tegelijkertijd geopend (Boek1 en Boek2). Je schrijft code in boek1 , maar boek2 is op dit moment actief. Dus wanneer u deze code uitvoert die verwijst naar ActiveWorkbook, wordt deze activiteit uitgevoerd in Book2 .

Maar wanneer u ThisWorkbook gebruikt, verwijst VBA altijd naar de werkmap waarin de code is geschreven.

Het punt is: het is altijd beter om ThisWorkbook te gebruiken, omdat dit de kans op fouten elimineert.

Meer informatie over VBA-werkmappen

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *