De tekens en trefwoorden die we gebruiken om variabelen in VBA te bedienen, worden VBA-operators genoemd. Bijvoorbeeld, in de regels eronder zijn regels =, +, >, & operatoren.
sub Examp() a= 12 b= 10 c= a+b debug.print "De som van a en b is" & c end sub
Er zijn vijf soorten operators in elke programmeertaal, dus in VBA
1. Toewijzingsoperator
2. Rekenkundige operator
3. Vergelijkingsoperator
4. Logische operator
5. Aaneenschakelingsoperator
Laten we eens kijken naar elk type operator in Excel VBA.
1. Opdrachtoperator (=)
Dit is de eerste operator die u in een programmeertaal gaat gebruiken. In VBA wordt het gebruikt om waarden aan variabelen toe te wijzen. Het is "=" (gelijk aan).
We gebruiken deze operator om waarden toe te wijzen aan variabelen in Excel VBA. Het wordt ook gebruikt als vergelijkingsoperator in VBA. We zullen er later in deze tutorial over praten.
Een eenvoudig voorbeeld is:
sub test() a=10 Range("A1").value=a end sub
In het bovenstaande voorbeeld gebruiken we eerst de toewijzingsoperator "=" om waarde toe te kennen aan variabele "a" en vervolgens gebruiken we de "=" operator om de waarde van "a" toe te wijzen aan de waarde van Range ("A1").
2. Rekenkundige operatoren
De rekenkundige operatoren zijn dezelfde operatoren die we sinds onze kindertijd gebruiken om eenvoudige berekeningen uit te voeren. In Excel VBA worden deze operators gebruikt om berekeningen uit te voeren op variabelen en getallen. Zij zijn:
(+) Rekenkundige toevoeging:Deze operator wordt gebruikt voor het optellen van twee of meer getallen of waarden van twee of meer variabelen. De onderstaande regels vatten de waarden van de twee variabelen samen en drukken deze af op de cel "A1".
Subtest() a=10 b=12 Bereik("A1").waarde=a+b Einde sub
A1 heeft er 22. Deze operator werkt ook als een concatenatie-operator. Als beide, a en b de tekenreekswaarden hebben, werkt de +-operator als een aaneenschakelingsoperator. We zullen later in het artikel zien hoe.
(-) Rekenkundig aftrekken:Deze operator wordt gebruikt om een waarde af te trekken van een andere waarde van variabelen. De regel hieronder trekt de waarde van a af van b en drukt deze af in de cel "A1".
Subtest() a=10 b=12 Bereik("A1").waarde=b-a Einde sub
A1 op het blad heeft er 2.
(*) Rekenkundige vermenigvuldiging:Deze operator wordt gebruikt voor het vermenigvuldigen of verkrijgen van het product van twee of meer getallen of waarden van twee of meer variabelen. De onderstaande regels vermenigvuldigen de waarden van de twee variabelen en drukken deze af op de cel "A1".
Subtest() a=10 b=12 Bereik("A1").waarde=a*b Einde sub
Cel A1 heeft de waarde 120.
(/) Rekenkundige deling:Deze operator wordt gebruikt om de ene waarde van de andere te delen. De regel hieronder deelt de waarde b door variabele a en drukt deze af op de cel "A1".
Subtest() a=10 b=12 Bereik("A1").waarde=b/a Einde sub
Cel A1 heeft de waarde 1,2.
(Mod) Rekenkundige restoperator in VBA: Terwijl de meeste PL's de % (modulus) gebruiken om de rest te krijgen, gebruiken we in VBA het trefwoord Mod. Deze operator wordt gebruikt om de herinnering te krijgen na het delen van de ene waarde door de andere. De regel hieronder verdeelt de waarde b door variabele a en drukt de herinneringswaarde af in cel A1.
Subtest() a=10 b=4 Bereik("A1").waarde=een Mod b Einde sub
Cel A1 heeft waarde 2.
(^) Rekenkundig exponentieel:Deze operator wordt gebruikt om de exponent van de ene waarde naar de andere te krijgen. De onderstaande regels geven ons de waarde van 3 voor exponentieel 4.
Subtest() a=3 b=4 Bereik("A1").waarde=a^b Einde sub
Cel A1 heeft de waarde 81 (3x3x3x3).
Deze operators in VBA volgen de BODMAS-regel. Er zijn slechts 6 rekenkundige operatoren in VBA. Er zijn enkele operators die als twee typen operators fungeren, zoals +. Je leert er meer over terwijl je deze tutorial doorloopt.
3. Vergelijkingsoperators
Wanneer we twee waarden in VBA willen vergelijken, gebruiken we de vergelijkingsoperatoren. Het resultaat van de vergelijkingsoperator is altijd Booleaans. Als de stelling waar is, dan is het resultaat WAAR. Als de verklaring onwaar is, is de waarde onwaar. Deze operators worden vaak gebruikt bij de besluitvorming in VBA. Laten we eens kijken wat ze zijn:
(=) Is gelijk aan:Ja, het = (is gelijk aan) teken wordt ook gebruikt als vergelijkingsoperator in VBA. Als we willen controleren of de twee variabelen gelijk zijn of niet, gebruiken we deze vergelijkingsoperator.
Sub Test() a=3 b=4 Als a=b dan wordt 'false MsgBox geretourneerd "De a en b zijn gelijk." 'dit wordt niet uitgevoerd. Anders MsgBox "De a en b zijn niet gelijk" End IF End Sub
In het bovenstaande voorbeeld gebruiken we het If-statement en controleren we of de waarden van a en b gelijk zijn. Dat zijn ze duidelijk niet. Daarom wordt de Else-verklaring afgedrukt.
U kunt het eenvoudig controleren door de verklaring te gebruiken.
a=3 b=4 debug.print a=b
Hierdoor wordt False in het directe venster afgedrukt.
(<) Minder dan:Dit wordt gebruikt om te controleren of de linkerwaarde kleiner is dan de rechterwaarde of niet.
Subtest() a=3 b=4 Als a
In het bovenstaande voorbeeld controleren we of de waarde van a kleiner is dan b. Aangezien dit waar is, wordt het if-statement uitgevoerd en Else niet.
U kunt het eenvoudig controleren door de verklaring te gebruiken.
a=3 b=4 debug.print a<>
Hierdoor wordt True in het directe venster afgedrukt.
(<=) Kleiner dan of gelijk aan:Dit wordt gebruikt om te controleren of de linkerwaarde kleiner is dan of gelijk is aan de rechterwaarde.
Sub Test() a=4 b=4 Als a<=b dan 'Het zal True MsgBox retourneren "De a is kleiner dan of gelijk aan b." 'dit wordt uitgevoerd. Else MsgBox "De a is niet gelijk aan of kleiner dan b." 'dit wordt niet uitgevoerd. Einde IF Einde sub
In het bovenstaande voorbeeld controleren we of de waarde van a kleiner is dan b. Aangezien dit waar is, wordt het If-statement uitgevoerd en Else niet.
U kunt het eenvoudig controleren door de verklaring te gebruiken.
a=4 b=4 debug.print a<-b
Hierdoor wordt True in het directe venster afgedrukt.
(>) Groter dan:Dit wordt gebruikt om te controleren of de linkerwaarde groter is dan de rechterwaarde of niet.
Sub Test() a=3 b=4 Als a>b dan 'Het zal False MsgBox retourneren "De a is groter dan b." 'Dit wordt niet uitgevoerd. Else MsgBox "De a is niet groter dan b." 'Dit wordt uitgevoerd. Einde IF Einde sub
In het bovenstaande voorbeeld controleren we of de waarde van a groter is dan b. Aangezien dit False is, wordt het if-statement niet uitgevoerd en Else wel.
U kunt het eenvoudig controleren door de verklaring te gebruiken.
a=3 b=4 debug.print a>b
Hierdoor wordt False in het directe venster afgedrukt.
(>=) Groter dan:Dit wordt gebruikt om te controleren of de linkerwaarde groter of gelijk is aan de rechterwaarde of niet.
Sub Test() a=3 b=4 Als a>=b dan 'Het zal False MsgBox retourneren "De a is groter dan of gelijk aan b." 'Dit wordt niet uitgevoerd. Else MsgBox "De a is niet groter dan of gelijk aan b." 'Dit wordt uitgevoerd. Stop als
In het bovenstaande voorbeeld controleren we of de waarde van a groter is dan of gelijk is aan b. Aangezien dit False is, wordt het if-statement niet uitgevoerd en Else wel.
U kunt het eenvoudig controleren door de verklaring te gebruiken.
a=3 b=4 debug.print a>=b
Hierdoor wordt False in het directe venster afgedrukt.
() Niet gelijk aan:Dit wordt gebruikt om te controleren of de linkerwaarde niet gelijk is aan de rechterwaarde.
Sub Test() a=3 b=4 Als ab dan 'Het zal True MsgBox retourneren "De a is niet gelijk aan b," 'Dit zal worden uitgevoerd. Else MsgBox "De a en b zijn gelijk." 'Dit wordt niet uitgevoerd. Einde IF Einde sub
In het bovenstaande voorbeeld controleren we of de waarde van a is niet gelijk aan B. Aangezien dit waar is, wordt het If-statement uitgevoerd en Else niet.
U kunt het eenvoudig controleren door de verklaring te gebruiken.
a=3 b=4 debug.print ab
Hierdoor wordt True in het directe venster afgedrukt.
De bovenstaande zes operatoren worden vergelijkingsoperatoren genoemd omdat we ze gebruiken om twee waarden of variabelen te vergelijken. Je zult ze veel in VBA gebruiken om beslissingen te nemen in VBA.
4. Logische operators
Logische operators worden gebruikt voor het uitvoeren van logische bewerkingen op een of meer variabelen. Het resultaat van dergelijke bewerkingen resulteert altijd in TRUE of FALSE. De logische operatoren worden vaak (niet altijd) gebruikt om meer dan één voorwaarde te controleren.
Hieronder staan de logische operatoren die we in VBA gebruiken:
VBA EN-operator (En of *): De VBA AND-operator wordt gebruikt om ervoor te zorgen dat de voorwaarden links en rechts waar zijn. Als een van de voorwaarden False is, resulteert de hele verklaring in False. We gebruiken het trefwoord And of het teken * (sterretje) voor AND-bewerkingen.
Controleer de onderstaande verklaring:
Subtest() a = 10 b = 20 Als a < 15 en b < 15 dan MsgBox "a en b zijn beide kleiner dan 15." 'Dit wordt niet uitgevoerd. Else MsgBox "A of b is groter dan of gelijk aan 15." 'Dit wordt uitgevoerd. Einde Als Einde Sub
Wanneer we het bovenstaande fragment uitvoeren, wordt het tweede if-statement niet uitgevoerd. Omdat de eerste bewering aan de linkerkant waar is, maar de bewering aan de rechterkant is niet waar. Vandaar dat de hele instructie False retourneert.
In de meeste talen wordt het symbool & gebruikt als AND-operator, maar niet in VBA. In VBA kunt u de vermenigvuldigingsoperator * (sterretje) als AND-operator gebruiken om ervoor te zorgen dat aan beide voorwaarden wordt voldaan.
In het bovenstaande voorbeeld kunt u het onderstaande if-statement gebruiken om hetzelfde te doen.
Als (a < 15) * (b < 15) Dan
U moet haakjes gebruiken om de voorwaardelijke verklaringen te scheiden. Anders volgen de verklaringen de BODMAS-regel en is het resultaat onnauwkeurig.
Q1: Wat zal de output zijn van de onderstaande verklaring? Laat het me weten in de comments hieronder:
debug.print a10 AND a=(b/2) AND a<>
Wanneer de waarde van a 15 is en b 30 is. Noteer het in de opmerkingen hieronder.
VBA OF-operator (of of +): De OR-operator wordt gebruikt als we ervoor willen zorgen dat de linkervoorwaarde WAAR is of de rechtervoorwaarde WAAR. Als een van de twee voorwaarden waar is, is het resultaat waar. We gebruiken het OR-sleutelwoord tussen twee booleaanse instructies. U kunt ook het + (plus) teken gebruiken voor OR-bewerking. Zorg ervoor dat u haakjes correct gebruikt om uitspraken duidelijk te maken tijdens het gebruik van het +-teken.
Bestudeer de onderstaande code:
Subtest() a = 10 b = 20 Als a < 15 Of b < 15 Dan MsgBox "A of b is kleiner dan 15." 'Dit wordt uitgevoerd. Else MsgBox "Noch a noch b is minder dan 15." 'Dit wordt niet uitgevoerd. Einde Als Einde Sub
Wanneer we de bovenstaande code uitvoeren, wordt het eerste bericht weergegeven en wordt het tweede bericht overgeslagen. Omdat a kleiner is dan 15 en b niet. Er is slechts één voorwaarde nodig om waar te zijn met de OR-operator om de uitvoer als waar te krijgen.
U schrijft de verklaring als:
Als (a < 15) + (b < 15) Dan
Vraag 2: Wat zal de output zijn van de onderstaande verklaring? Laat het me weten in de comments hieronder:
debug.print a10 Of a=(b/2) of a<>
Wanneer de waarde van a 10 is en b is 5. Noteer in de opmerkingen hieronder.
VBA NIET-operator (niet): De operator Not wordt gebruikt om de booleaanse waarde om te keren. Met andere woorden, de instructie met de operator Not retourneert alleen True als de instructie ervoor False is. Als u bijvoorbeeld het sleutelwoord Not vóór een True-statement gebruikt, resulteert dit in False en vice versa. In VBA gebruiken we de Niet trefwoord om te controleren of iets niet waar of niet waar is (?).
Subtest() a = 10 b = 10 Indien niet a = b Dan MsgBox "a en b zijn niet gelijk." Anders MsgBox "a en b zijn beide gelijk."'Dit wordt uitgevoerd End If End Sub
In de bovenstaande code, statementNiet a = bzal vals retourneren. Aanvankelijk is a=b waar, maar zoals we hiervoor Not hebben gebruikt, wordt het resultaat omgekeerd en verandert de instructie in False. In het bovenstaande voorbeeld hebben we de enige uitspraken ervoor gebruikt. U kunt zoveel instructies hebben als u wilt voor de Not-operator. Zet ze gewoon tussen haakjes.
Q3: Wat zal de output zijn van de onderstaande verklaring? Laat het me weten in de comments hieronder:
debug.print a10 Of Niet (a=(b/2) * a<>
Wanneer de waarde van a 10 is en b is 5. Noteer in de opmerkingen hieronder.
5. Aaneenschakelingsoperators ( & of +)
Deze operators worden gebruikt om strings samen te voegen. Het symbool & wordt gebruikt om teksten samen te voegen. Het is de aanbevolen operator om tekenreeksen samen te voegen. U kunt echter ook het +-teken gebruiken om samen te voegen.
Het plusteken voegt alleen twee variabelen samen als ze allebei strings zijn. Als een van de tekenreeksen geen tekenreeks is, werkt het +-teken als een opteloperator.
Zie de onderstaande code:
Sub test() a="Exceltip" b=" is nummer " c= 1 d= 2 Debug.print a & b & c 'dit zal "Exceltip is nummer 1" afdrukken Debug.print a + b & c & d ' dit zal afdrukken "Exceltip is nummer 12 'Debug.print a + b + c' dit zal een fout zijn. End Sub
In de bovenstaande code werken de eerste twee regels prima. De derde regel zal een fout tegenkomen omdat we tekst met cijfers proberen toe te voegen. Om getallen samen te voegen gebruiken we altijd de & (amp).
Multifunctionele operators in VBA
Door de bovenstaande voorbeelden moet je hebben geleerd dat er veel operators zijn die in verschillende situaties anders werken.
Het +-teken werkt als de opteloperator tijdens het werken met getallen. Tijdens het werken met booleaanse waarden, werkt het plusteken als de operator Of in VBA. Bij gebruik met tekenreekswaarden werkt de plus-operator als een aaneenschakelingsoperator. De onderstaande regels zijn geldig:
Debug.Print 10+20 ' drukt 30 af. + werkt als opteloperator. Debug.Print (1020) ' drukt True af. + werkt als Of-operator. Debug.Print "10" + "20" 'Print 1020. Het +-teken werkt als aaneenschakelingsoperator.
Het asterisk (*)-teken werkt als een vermenigvuldigingsoperator wanneer operanden numeriek zijn. Als de operanden booleaans zijn, werkt de asterisk als And Operator.
De onderstaande regels code werken prima.
Debug.Print 10*20 ' drukt 200 af. De * werkt als vermenigvuldigingsoperator. Debug.Print (1020) ' wordt afgedrukt False. Het +-teken werkt als de operator And.
Dus ja jongens, dit gaat allemaal over de operators in VBA. Ik hoop dat het nuttig was. Als je twijfels hebt over de operators in VBA, vraag het dan in de commentaarsectie hieronder.
De If ElseIf-instructie in VBA|In If ElseIf-instructie wordt de volgende voorwaarde alleen gecontroleerd als de vorige voorwaarde valt. Wanneer aan een voorwaarde wordt voldaan, wordt de code in dat blok uitgevoerd en verlaat de besturing het If-blok.
Excel VBA-variabel bereik | VBA heeft ook scope-specificaties. Deze scope-specificaties kunnen worden gebruikt om de zichtbaarheid/scope van een variabele in Excel VBA in te stellen.
VBA Select Case Statement | De Select Case Statements zijn handig wanneer u te veel voorwaarden moet controleren. Het zijn uitstekende vervangingen van meerdere If ElseIf-statements.
Loop in VBA gebruiken in Microsoft Excel | De lussen in VBA stellen ons in staat om een vergelijkbare taak steeds opnieuw uit te voeren zonder herhaling van code. Er zijn 3 soorten lussen in Excel VBA.
ByRef- en ByVal-argumenten |Als een argument als ByRef-argument wordt doorgegeven aan een andere sub of functie, wordt de referentie van de werkelijke variabele verzonden. Alle wijzigingen die zijn aangebracht in de kopie van de variabele, worden weergegeven in het oorspronkelijke argument.
Geef een bericht weer op de Excel VBA-statusbalk De statusbalk in Excel kan worden gebruikt als een codemonitor. Wanneer uw VBA-code lang is en u verschillende taken uitvoert met VBA, schakelt u vaak de schermupdate uit zodat u dat scherm niet ziet flikkeren
Schakel waarschuwingsberichten uit met VBA in Microsoft Excel 2016|Deze code schakelt niet alleen VBA-waarschuwingen uit, maar verhoogt ook de tijdefficiëntie van de code. Laten we eens kijken hoe.
Populaire artikels:
50 Excel-snelkoppelingen om uw productiviteit te verhogen | Word sneller in uw taak. Met deze 50 sneltoetsen werk je nog sneller in Excel.
De VERT.ZOEKEN-functie in Excel | Dit is een van de meest gebruikte en populaire functies van Excel die wordt gebruikt om waarde op te zoeken uit verschillende bereiken en bladen.
AANTAL.ALS in Excel 2016 | Tel waarden met voorwaarden met behulp van deze geweldige functie. U hoeft uw gegevens niet te filteren om een specifieke waarde te tellen. Countif-functie is essentieel om uw dashboard voor te bereiden.
Hoe de SUMIF-functie in Excel te gebruiken | Dit is een andere essentiële functie van het dashboard. Dit helpt u bij het optellen van waarden voor specifieke voorwaarden.