Operatörer i Excel VBA

Innehållsförteckning:

Anonim

De tecken och nyckelord vi använder för att driva variabel i VBA kallas VBA -operatörer. Till exempel i raderna nedan är raderna =, +,>, & operatorer.

sub Examp () a = 12 b = 10 c = a+b debug.print "Summan av a och b är" & c slutet sub 

Det finns fem typer av operatörer i alla programmeringsspråk, så i VBA
1. Uppdragsoperatör
2. Aritmetisk operatör
3. Jämförelseoperatör
4. Logisk operatör
5. Kopplingsoperatör

Låt oss ta en titt på varje typ av operatör i Excel VBA.

1. Uppdragsoperatör (=)

Detta är den första operatören du kommer att använda i alla programmeringsspråk. I VBA används den för att tilldela variabler värden. Det är "=" (är lika med).

Vi använder denna operatör för att tilldela värden till variabler i Excel VBA. Det används också som jämförelseoperatör i VBA. Vi kommer att prata om det senare i denna handledning.

Ett enkelt exempel är

delprov () a = 10 Område ("A1"). värde = en slutsub 

I exemplet ovan använder vi först tilldelningsoperatorn "=" för att tilldela värdet till variabeln "a" och använder sedan "=" -operatorn för att tilldela värdet "a" till värdet på intervallet ("A1").

2. Aritmetiska operatörer

Räkneoperatorerna är samma operatörer som vi har använt sedan barnsben för att göra enkla beräkningar. I Excel VBA används dessa operatörer för att göra beräkningar på variabler och siffror. Dom är:

(+) Aritmetisk tillägg:Denna operator används för att lägga till två eller flera tal eller värden för två eller flera variabler. Raderna nedan summerar värdena för de två variablerna och skriver ut dem på cellen "A1".

Deltest () a = 10 b = 12 intervall ("A1"). Värde =a+b Avsluta Sub

A1 kommer att ha 22. Denna operatör fungerar också som en sammankopplingsoperatör. Om båda, a och b har strängvärdena, fungerar + -operatören som en sammanfogningsoperator. Vi får se hur, senare i artikeln.

(-) Aritmetisk subtraktion:Denna operator används för att subtrahera ett värde från ett annat värde av variabler. Raden nedan drar värdet av a från b och skriver ut det i cellen "A1".

Deltest () a = 10 b = 12 intervall ("A1"). Värde =b-a Avsluta Sub

A1 på arket kommer att ha 2.

(*) Aritmetisk multiplikation:Denna operatör används för att multiplicera eller få produkt av två eller flera tal eller värden för två eller flera variabler. Nedanstående rader multiplicerar värdena för de två variablerna och skriver ut dem på cellen "A1".

Deltest () a = 10 b = 12 intervall ("A1"). Värde =a*b Avsluta Sub

Cell A1 kommer att ha värde 120.

(/) Aritmetic Division:Denna operatör används för att dela ett värde från ett annat. Raden nedan delar värdet b med variabel a och skriver ut det på cellen "A1".

Deltest () a = 10 b = 12 intervall ("A1"). Värde =b/a Avsluta Sub

Cell A1 har värde 1.2.

(Mod) Arithmetic Remainder Operator i VBA: Medan de flesta PL använder % (modul) för att få resten, använder vi i VBA nyckelordet Mod. Denna operatör används för att få påminnelsen efter att ha delat ett värde från ett annat. Raden nedan dividerar värdet b med variabel a och skriver ut påminnelsevärdet i cell A1.

Deltest () a = 10 b = 4 Område ("A1"). Värde =a Mod b Avsluta Sub 

Cell A1 kommer att ha värde 2.

(^) Aritmetisk exponentiell:Denna operatör används för att få exponenten av ett värde till ett annat. Raderna nedan ger oss värdet 3 för exponentiell 4.

Deltest () a = 3 b = 4 Område ("A1"). Värde =a^b Avsluta Sub

Cell A1 kommer att ha värde 81 (3x3x3x3).

Dessa operatörer i VBA följer BODMAS -regeln. Det finns bara 6 räkneoperatörer i VBA. Det finns några operatörer som fungerar som två typer av operatörer som +. Du kommer att lära dig mer om dem när du går igenom denna handledning.

3. Jämförelseoperatörer

När vi vill jämföra två värden i VBA använder vi jämförelseoperatorerna. Resultatet av jämförelseoperatören är alltid booleskt. Om påståendet är sant är resultatet i TRUE. Om påståendet är falskt är värdet falskt. Dessa operatörer används ofta vid beslutsfattande i VBA. Låt oss se vad de är:

(=) Är lika med:Ja, tecknet = (är lika med) används också som jämförelseoperatör i VBA. När vi vill kontrollera om de två variablerna är lika eller inte använder vi denna jämförelseoperator.

Deltest () a = 3 b = 4 Om a = b då 'Det returnerar falska MsgBox "A och b är lika." 'detta kommer inte att köras. Annars MsgBox "A och b är inte lika" Slut IF Slut Sub

I exemplet ovan använder vi If -satsen och kontrollerar om värdena för a och b är lika. Det är de uppenbarligen inte. Därför skrivs Else -uttalandet ut.

Du kan kontrollera det genom att helt enkelt använda uttalandet.

a = 3 b = 4 debug.print a = b

Detta kommer att skriva ut False i det omedelbara fönstret.

(<) Mindre än:Detta används för att kontrollera om det vänstra värdet är mindre än rätt värde eller inte.

Deltest () a = 3 b = 4 Om a

I exemplet ovan kontrollerar vi om värdet på a är mindre än b. Eftersom detta är sant körs if -satsen och Else inte.

Du kan kontrollera det genom att helt enkelt använda uttalandet.

a = 3 b = 4 debug.print a<>

Detta kommer att skriva ut True i det omedelbara fönstret.

(<=) Mindre än eller lika med:Detta används för att kontrollera om det vänstra värdet är mindre än eller lika med det rätta värdet eller inte.

Deltest () a = 4 b = 4 Om a <= b då 'Det returnerar True MsgBox "A är mindre än eller lika med b." 'detta kommer att utföras. Annat MsgBox "A är inte lika med eller mindre än b." 'detta kommer inte att köras. Slut IF Slut Sub

I exemplet ovan kontrollerar vi om värdet på a är mindre än b. Eftersom detta är sant körs If -satsen och Else inte.

Du kan kontrollera det genom att helt enkelt använda uttalandet.

a = 4 b = 4 debug.print a <-b

Detta kommer att skriva ut True i det omedelbara fönstret.

(>) Större än:Detta används för att kontrollera om det vänstra värdet är större än det rätta värdet eller inte.

Deltest () a = 3 b = 4 Om a> b då 'Det returnerar Falsk MsgBox "A är större än b." 'Det här kommer inte att köras. Annat MsgBox "A är inte större än b." 'Detta kommer att genomföras. Slut IF Slut Sub

I exemplet ovan kontrollerar vi om värdet på a är större än b. Eftersom detta är falskt kommer inte if -uttalandet att köras och Else gör det.

Du kan kontrollera det genom att helt enkelt använda uttalandet.

a = 3 b = 4 debug.print a> b

Detta kommer att skriva ut False i det omedelbara fönstret.

(> =) Större än:Detta används för att kontrollera om det vänstra värdet är större än eller lika med det rätta värdet eller inte.

Deltest () a = 3 b = 4 Om a> = b då 'Det returnerar Falsk MsgBox "A är större än eller lika med b." 'Det här kommer inte att köras. Annat MsgBox "A är inte större än eller lika med b." 'Detta kommer att genomföras. Avsluta IF

I exemplet ovan kontrollerar vi om värdet på a är större än eller lika med b. Eftersom detta är falskt kommer inte if -uttalandet att köras och Else gör det.

Du kan kontrollera det genom att helt enkelt använda uttalandet.

a = 3 b = 4 debug.print a> = b

Detta kommer att skriva ut False i det omedelbara fönstret.

() Inte lika med:Detta används för att kontrollera om det vänstra värdet inte är lika med det rätta värdet.

Deltest () a = 3 b = 4 Om ab sedan 'Det kommer att returnera True MsgBox "A är inte lika med b,"' Detta kommer att utföras. Annars MsgBox "A och b är lika." 'Det här kommer inte att köras. Slut IF Slut Sub

I exemplet ovan kontrollerar vi om värdet på a är inte lika med b. Eftersom detta är sant kommer If -satsen att köras och Else inte.

Du kan kontrollera det genom att helt enkelt använda uttalandet.

a = 3 b = 4 debug.print ab

Detta kommer att skriva ut True i det omedelbara fönstret.

Ovanstående sex operatörer kallas jämförelseoperatorer eftersom vi använder dem för att jämföra två värden eller variabler. Du kommer att använda dem mycket i VBA för att fatta beslut i VBA.

4. Logiska operatörer

Logiska operatorer används för att utföra logiska operationer på en eller flera variabler. Resultatet av sådana operationer resulterar alltid i SANT eller FALSKT. De logiska operatorerna används ofta (inte alltid) för att kontrollera mer än ett villkor.

Nedan är de logiska operatorerna vi använder i VBA:

VBA OCH Operatör (Och eller *): VBA OCH -operatören används för att säkerställa att förhållandena till vänster och höger är sanna. Om något av villkoren är falskt kommer hela påståendet att resultera i falskt. Vi använder sökordet And eller tecknet * (asterisk) för AND -operationer.

Kontrollera nedanstående uttalande:

Deltest () a = 10 b = 20 Om a <15 Och b <15 Då MsgBox "a och b är båda mindre än 15." 'Det här körs inte. Annat MsgBox "Antingen är a eller b större än eller lika med 15." 'Det här körs. Slut Om Slut Sub 

När vi kör ovanstående kodavsnitt körs det andra if -uttalandet inte. För det första påståendet till vänster är sant, men påståendet till höger är falskt. Därför returnerar hela påståendet Falskt.

På de flesta språken används symbolen & som OCH -operatör men inte i VBA. I VBA kan du använda multiplikationsoperatorn * (asterisk) som OCH -operatör för att säkerställa att båda villkoren är sanna.

I exemplet ovan kan du använda if if -satsen nedan för att göra detsamma.

Om (a <15) * (b <15) Då

Du måste använda parentes för att separera villkorliga uttalanden. Annars följer uttalandena BODMAS -regeln och resultatet blir felaktigt.

Q1: Vad blir resultatet av nedanstående uttalande? Låt mig veta i kommentarsfältet nedan:

debug.print a10 OCH a = (b/2) OCH a<>

När värdet på a är 15 och b är 30. Skriv ner i kommentarfältet nedan.

VBA ELLER Operatör (Eller eller +): OR -operatören används när vi vill se till att antingen det vänstra villkoret är SANT eller det Höger villkoret är SANT. Om något av de två villkoren är sant blir resultatet sant. Vi använder OR -nyckelordet mellan två booleska uttalanden. Du kan också använda + (plus) -tecknet för ELLER -funktion. Se bara till att du använder parentes korrekt för att göra uttalanden tydliga när du använder + -tecknet.

Undersök koden nedan:

Deltest () a = 10 b = 20 Om a <15 Eller b <15 Då MsgBox "Antingen a eller b är mindre än 15." 'Det här körs. Annars MsgBox "Varken a eller b är mindre än 15." 'Det här körs inte. Slut Om Slut Sub

När vi kör koden ovan visas det första meddelandet och det andra meddelandet hoppas över. Eftersom a är mindre än 15 och b inte. Det krävs bara ett villkor för att vara sant med OR -operatören för att få utgången som sann.

Du skriver påståendet som:

Om (a <15) + (b <15) Sedan

Q2: Vad blir resultatet av nedanstående uttalande? Låt mig veta i kommentarsfältet nedan:

debug.print a10 Eller a = (b/2) eller a<>

När värdet på a är 10 och b är 5. Skriv ner i kommentarfältet nedan.

VBA NOT Operator (Not): Operatorn Not används för att invertera det booleska värdet. Med andra ord, påståendet med operatorn Not returnerar bara sant om påståendet innan det är falskt. Om du till exempel använder nyckelordet Not före ett sant uttalande, kommer det att resultera i False och vice versa. I VBA använder vi Inte nyckelord för att kontrollera om något inte är sant eller falskt (?).

Deltest () a = 10 b = 10 Om inte a = b Då MsgBox "a och b är inte lika." Annars MsgBox "a och b båda är lika." 'Detta utförs End If End Sub

I koden ovan, uttalandeInte a = bkommer att returnera falskt. Inledningsvis är a = b sant men som vi har använt Not before it, är resultatet omvänt och påstående blir falskt. I exemplet ovan har vi använt de enda uttalandena före det. Du kan ha så många påståenden som du vill före Not operator. Infoga dem bara inom parentes.

Q3: Vad blir resultatet av nedanstående uttalande? Låt mig veta i kommentarsfältet nedan:

debug.print a10 Eller inte (a = (b/2) * a<>

När värdet på a är 10 och b är 5. Skriv ner i kommentarfältet nedan.

5. Kopplingsoperatörer (& eller +)

Dessa operatörer används för att sammanfoga strängar. Symbolen & används för att sammanfoga texter. Det är den rekommenderade operatören att sammanfoga strängar. Du kan dock också använda + -tecknet för att sammanfoga.

Plustecknet sammanfogar bara två variabler när båda är strängar. Om någon av strängen är icke-sträng fungerar + -tecknet som en tilläggsoperator.

Se koden nedan:

Deltest () a = "Exceltip" b = "is number" c = 1 d = 2 Debug.print a & b & c 'detta kommer att skriva ut "Exceltip är nummer 1" Debug.print a + b & c & d' detta kommer att skriva ut "Exceltip är nummer 12 'Debug.print a + b + c' detta blir ett fel. Avsluta Sub

I koden ovan fungerar de två första raderna perfekt. Den tredje raden kommer att stöta på ett fel eftersom vi försöker lägga till text med siffror. För att sammanfoga tal använder vi alltid & (amp).

Multifunktionella operatörer i VBA

Genom exemplen ovan måste du ha lärt dig att det finns många operatörer som fungerar olika i olika situationer.

+ -Tecknet fungerar som tilläggsoperatorn medan du arbetar med siffror. När du arbetar med booleska värden fungerar plustecknet som Or -operatör i VBA. När den används med strängvärden fungerar plusoperatorn som en sammanlänkningsoperator. Raderna nedan är giltiga:

Debug.Print 10 + 20 'skriver ut 30. + fungerar som tilläggsoperatör. Debug.Print (1020) skriver ut True. + fungerar som Or -operatör. Debug.Print "10" + "20" 'Skriver ut 1020. + -tecknet fungerar som sammankopplingsoperatör. 

Asterisk (*) tecknet fungerar som en multiplikationsoperator när operander är numeriska. När operanderna är booleska fungerar asterisken som And Operator.

Nedanstående kodrader fungerar alldeles utmärkt.

Debug.Print 10 * 20 'skriver ut 200. * fungerar som multiplikationsoperator. Debug.Print (1020) 'skriver ut falskt. + -Tecknet fungerar som And -operator. 

Så ja killar, det här handlar om operatörerna i VBA. Jag hoppas att det var till hjälp. Om du har några tvivel angående operatörerna i VBA, fråga i kommentarsfältet nedan.

If ElseIf -uttalandet i VBA | I If ElseIf -uttalandet kontrolleras nästa villkor endast när det tidigare villkoret faller. När ett villkor matchas körs koden i det blocket och kontrollen lämnar if -blocket.

Excel VBA variabelt omfång | VBA har också omfångsspecifikatorer. Dessa omfångsspecifikatorer kan användas för att ställa in synligheten/omfattningen av en variabel i Excel VBA.

VBA Välj fallbesked | Select Case -uttalanden är användbara när du har för många villkor att kontrollera. De är utmärkta ersättare av flera If ElseIf -uttalanden.

Använda loop i VBA i Microsoft Excel | Slingorna i VBA gör att vi kan utföra en liknande uppgift om och om igen utan att kod upprepas. Det finns tre typer av loopar i Excel VBA.

ByRef och ByVal -argument | När ett argument skickas som ett ByRef -argument till en annan sub eller funktion skickas referensen till den faktiska variabeln. Alla ändringar som görs i kopian av variabeln kommer att återspeglas i originalargumentet.

Visa ett meddelande i Excel VBA -statusfält Statusfältet i Excel kan användas som kodmonitor. När din VBA -kod är lång och du utför flera uppgifter med VBA, inaktiverar du ofta skärmuppdateringen så att du inte ser att skärmen flimrar

Stäng av varningsmeddelanden med VBA i Microsoft Excel 2016 | Den här koden inaktiverar inte bara VBA -varningar utan ökar också kodens tidseffektivitet. Låt oss se hur.

Populära artiklar:

50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.

VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.

COUNTIF i Excel 2016 | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifikt värde. Countif -funktionen är avgörande för att förbereda din instrumentpanel.

Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.