Inhoudsopgave:
Een toewijzingsinstructie is een VBA-instructie die het resultaat van een uitdrukking aan een variabele of een object toewijst. Excel's Help-systeem definieert de term uitdrukking als
"… een combinatie van trefwoorden, operatoren, variabelen en constanten die een string, getal of object oplevert. Een uitdrukking kan worden gebruikt om een berekening uit te voeren, tekens te manipuleren of gegevens te testen. "
Een groot deel van uw werk in VBA omvat het ontwikkelen (en debuggen) van uitdrukkingen. Als u weet hoe u formules in Excel maakt, heeft u geen problemen bij het maken van expressies. Met een werkbladformule geeft Excel het resultaat in een cel weer. Een VBA-expressie kan daarentegen aan een variabele worden toegewezen.
Voorbeelden van toewijzingsinstructies
In de voorbeelden van de toewijzingsinstructies die volgen, staan de uitdrukkingen rechts van het gelijkteken:
x = 1 x = x + 1 x = (y * 2) / (z * 2) HouseCost = 375000 FileOpen = True Range ("TheYear"). Waarde = 2016
Expressies kunnen zo complex zijn als u wilt dat ze zijn; gebruik het lijnvoortzettingsteken (een spatie gevolgd door een onderstrepingsteken) om lange uitdrukkingen gemakkelijker leesbaar te maken.
Vaak gebruiken uitdrukkingen functies: ingebouwde functies van VBA, Excel-werkbladfuncties of functies die u ontwikkelt met VBA.
Over dat gelijkteken
Zoals u in het vorige voorbeeld kunt zien, gebruikt VBA het gelijkteken als toewijzingsoperator. Je bent waarschijnlijk wel gewend om een gelijkteken te gebruiken als een wiskundig symbool voor gelijkheid. Daarom kan een toewijzingsinstructie zoals de volgende ervoor zorgen dat u uw wenkbrauwen optrekt:
z = z + 1
In welk gek universum is z gelijk aan zichzelf plus 1? Antwoord: geen bekend universum. In dit geval verhoogt de toewijzingsinstructie (indien uitgevoerd) de waarde van z met 1. Dus als z 12 is, maakt het uitvoeren van de instructie z gelijk aan 13. Onthoud alleen dat een toewijzing het gelijkteken gebruikt als een operator, niet als een symbool van gelijkheid.
Soepele operators
Operators spelen een belangrijke rol in VBA. Naast de operator voor gelijktekens biedt VBA verschillende operatoren. Deze moeten u bekend voorkomen, omdat ze dezelfde operatoren zijn die worden gebruikt in werkbladformules (behalve de Mod-operator).
Functie | Operatorsymbool |
---|---|
Optelling | + |
Vermenigvuldigen | * |
Onderverdeling | / |
Aftrekken | - |
Exponentiation | ^ < String-aaneenschakeling |
& | Integer-verdeling (het resultaat is altijd een geheel getal) |
Modulo-rekenkunde (geeft de rest van een divisie | |
-bewerking)
Mod |
Wanneer u aan het schrijven bent een Excel-formule, je doet modulo-rekenkunde met behulp van de MOD-functie.De volgende formule retourneert bijvoorbeeld 2 (de rest als u 12 van 5 deelt): |
= MOD (12, 5)
In VBA wordt de Mod-operator op deze manier gebruikt (en z heeft een waarde van 2)):
z = 12 Mod 5
De term
aaneenschakeling is programmeur die spreekt voor "join together. "Dus, als je strings aaneenschakelt, combineer je strings om een nieuwe en verbeterde string te maken. VBA biedt ook een volledige set van logische operatoren. Hiervan worden niet, en en of het meest gebruikt.
Operator
Wat het doet | Niet |
---|---|
Voert een logische ontkenning uit op een uitdrukking | En |
Voert een logische combinatie uit op twee uitdrukkingen | Of |
Voert een logische scheiding uit op twee uitdrukkingen | Xor |
Voert een logische uitsluiting uit van twee uitdrukkingen | Eqv |
Voert een logische equivalentie uit op twee uitdrukkingen | Imp |
Voert een logische implicatie uit voor twee uitdrukkingen | De prioriteitsvolgorde voor operators in VBA is precies hetzelfde als in Excel-formules. Exponentiation heeft de hoogste prioriteit. Vermenigvuldiging en delen komen vervolgens, gevolgd door optellen en aftrekken. U kunt haakjes gebruiken om de volgorde van de natuurlijke prioriteit te wijzigen, zodat alles wat tussen haakjes is geplaatst vóór elke operator komt. Bekijk deze code: |
x = 3 y = 2 z = x + 5 * y
Wanneer de voorgaande code is uitgevoerd, wat is dan de waarde van z? Als je 13 hebt geantwoord, krijg je een gouden ster die bewijst dat je het concept van operator-voorrang begrijpt. Als u 16 hebt geantwoord, leest u dit: De vermenigvuldigingsbewerking (5 * y) wordt eerst uitgevoerd en dat resultaat wordt toegevoegd aan x.
Veel programmeurs hebben de neiging om haakjes te gebruiken, zelfs als ze niet nodig zijn. Bijvoorbeeld, in het echte leven kan die laatste toewijzingsverklaring als volgt worden geschreven:
z = x + (5 * y)
Wees niet verlegen over het gebruik van haakjes, ook als ze niet verplicht zijn - vooral als je doet dus maakt je code gemakkelijker te begrijpen. VBA maakt het je niet uit als je extra haakjes gebruikt.