Operatører i Excel VBA

De tegn og søgeord, vi bruger til at betjene variabel i VBA, kaldes VBA -operatører. For eksempel i linjerne nedenfor er linjer =, +,>, & operatorer.

sub Examp () a = 12 b = 10 c = a+b debug.print "Summen af ​​a og b er" & c slut sub 

Der er fem typer operatører i ethvert programmeringssprog, så i VBA
1. Opdragsoperatør
2. Aritmetisk operatør
3. Sammenligningsoperatør
4. Logisk operatør
5. Sammenkædningsoperatør

Lad os tage et kig på hver type operatør i Excel VBA.

1. Opdragsoperatør (=)

Dette er den første operator, du kommer til at bruge i ethvert programmeringssprog. I VBA bruges det til at tildele værdier til variabler. Det er "=" (svarer til).

Vi bruger denne operator til at tildele værdier til variabler i Excel VBA. Det bruges også som sammenligningsoperatør i VBA. Vi vil tale om det senere i denne vejledning.

Et enkelt eksempel er

sub test () a = 10 Range ("A1"). value = a end sub 

I eksemplet ovenfor bruger vi først tildelingsoperatoren "=" til at tildele værdi til variablen "a" og derefter bruge "=" operatoren til at tildele værdien af ​​"a" til værdien af ​​område ("A1").

2. Aritmetiske operatører

De aritmetiske operatorer er de samme operatorer, som vi har brugt siden barndommen til at lave enkle beregninger. I Excel VBA bruges disse operatorer til at foretage beregninger af variabler og tal. De er:

(+) Aritmetisk tilføjelse:Denne operator bruges til at tilføje to eller flere tal eller værdier for to eller flere variabler. Linjerne nedenfor opsummerer værdierne for de to variabler og udskriver det på cellen "A1".

Subtest () a = 10 b = 12 Range ("A1"). Værdi =a+b Afslut Sub

A1 vil have 22. Denne operatør fungerer også som en sammenkædningsoperator. Hvis begge, a og b vil have strengværdierne, fungerer + -operatoren som en sammenkædningsoperator. Vi vil se hvordan, senere i artiklen.

(-) Aritmetisk subtraktion:Denne operator bruges til at trække en værdi fra en anden værdi af variabler. Linjen herunder trækker værdien af ​​a fra b og udskriver den i cellen "A1".

Subtest () a = 10 b = 12 Range ("A1"). Værdi =b-a Afslut Sub

A1 på arket vil have 2.

(*) Aritmetisk multiplikation:Denne operator bruges til at multiplicere eller få et produkt af to eller flere tal eller værdier af to eller flere variabler. Nedenstående linjer multiplicerer værdierne for de to variabler og udskriver det på cellen "A1".

Subtest () a = 10 b = 12 Range ("A1"). Værdi =a*b Afslut Sub

Celle A1 vil have værdi 120.

(/) Aritmetic Division:Denne operator bruges til at dele en værdi fra en anden. Linjen nedenfor deler værdien b med variabel a og udskriver den på cellen "A1".

Subtest () a = 10 b = 12 Range ("A1"). Værdi =b/a Afslut Sub

Celle A1 vil have værdi 1,2.

(Mod) Arithmetic Remainder Operator i VBA: Mens de fleste PL'er bruger % (modul) til at få resten, bruger vi i VBA søgeordet Mod. Denne operator bruges til at få påmindelsen efter at have delt en værdi fra en anden. Linjen nedenfor deler værdien b med variabel a og udskriver påmindelsesværdien i celle A1.

Subtest () a = 10 b = 4 Område ("A1"). Værdi =a Mod b Afslut Sub 

Celle A1 vil have værdi 2.

(^) Aritmetisk eksponentiel:Denne operator bruges til at få eksponenten af ​​en værdi til en anden. Linjerne herunder giver os værdien 3 for eksponentiel 4.

Subtest () a = 3 b = 4 Område ("A1"). Værdi =a^b Afslut Sub

Celle A1 vil have værdi 81 (3x3x3x3).

Disse operatører i VBA følger BODMAS -reglen. Der er kun 6 aritmetiske operatorer i VBA. Der er nogle operatører, der fungerer som to typer operatører som +. Du vil lære om dem, når du gennemgår denne vejledning.

3. Sammenligningsoperatører

Når vi vil sammenligne to værdier i VBA, bruger vi sammenligningsoperatorerne. Resultatet af sammenligningsoperatoren er altid boolsk. Hvis udsagnet er sandt, er resultatet i SAND. Hvis udsagnet er falsk, er værdien Falsk. Disse operatører bruges ofte i beslutningstagning i VBA. Lad os se, hvad de er:

(=) Er lig med:Ja, tegnet = (svarer til) bruges også som sammenligningsoperator i VBA. Når vi vil kontrollere, om de to variabler er ens eller ej, bruger vi denne sammenligningsoperator.

Subtest () a = 3 b = 4 Hvis a = b derefter 'Det returnerer falsk MsgBox "A og b er ens." 'dette bliver ikke henrettet. Ellers MsgBox "a og b er ikke ens" End IF End Sub

I ovenstående eksempel bruger vi If -sætningen og kontrollerer, om værdierne for a og b er ens. Det er de tydeligvis ikke. Derfor udskrives Else -erklæringen.

Du kan kontrollere det ved blot at bruge udsagnet.

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

Dette vil udskrive Falsk i det umiddelbare vindue.

(<) Mindre end:Dette bruges til at kontrollere, om den venstre værdi er mindre end den rigtige værdi eller ej.

Deltest () a = 3 b = 4 Hvis a

I eksemplet ovenfor kontrollerer vi, om værdien af ​​a er mindre end b. Da dette er sandt, bliver if -sætningen eksekveret og Else ikke.

Du kan kontrollere det ved blot at bruge udsagnet.

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

Dette vil udskrive True i det umiddelbare vindue.

(<=) Mindre end eller lig med:Dette bruges til at kontrollere, om den venstre værdi er mindre end eller lig med den rigtige værdi eller ej.

Subtest () a = 4 b = 4 Hvis a <= b derefter 'Det returnerer True MsgBox "A er mindre end eller lig med b." 'dette vil blive udført. Ellers MsgBox "A er ikke lig med eller mindre end b." 'dette bliver ikke henrettet. Afslut IF Afslut Sub

I eksemplet ovenfor kontrollerer vi, om værdien af ​​a er mindre end b. Da dette er sandt, bliver If -sætningen eksekveret og Else ikke.

Du kan kontrollere det ved blot at bruge udsagnet.

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

Dette vil udskrive True i det umiddelbare vindue.

(>) Større end:Dette bruges til at kontrollere, om den venstre værdi er større end den rigtige værdi eller ej.

Subtest () a = 3 b = 4 Hvis a> b derefter 'Det returnerer Falsk MsgBox "a er større end b." 'Dette bliver ikke henrettet. Ellers MsgBox "A er ikke større end b." 'Dette vil blive udført. Afslut IF Afslut Sub

I eksemplet ovenfor kontrollerer vi, om værdien af ​​a er større end b. Da dette er Falsk, vil if -sætningen ikke blive eksekveret, og Else gør det.

Du kan kontrollere det ved blot at bruge udsagnet.

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

Dette vil udskrive Falsk i det umiddelbare vindue.

(> =) Større end:Dette bruges til at kontrollere, om den venstre værdi er større end eller lig med den rigtige værdi eller ej.

Deltest () a = 3 b = 4 Hvis a> = b derefter 'Det returnerer Falsk MsgBox "a er større end eller lig med b." 'Dette bliver ikke henrettet. Ellers MsgBox "a er ikke større end eller lig med b." 'Dette vil blive udført. Afslut Hvis

I eksemplet ovenfor kontrollerer vi, om værdien af ​​a er større end eller lig med b. Da dette er Falsk, vil if -sætningen ikke blive eksekveret, og Else gør det.

Du kan kontrollere det ved blot at bruge udsagnet.

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

Dette vil udskrive Falsk i det umiddelbare vindue.

() Ikke lig med:Dette bruges til at kontrollere, om den venstre værdi ikke er lig med den rigtige værdi.

Subtest () a = 3 b = 4 Hvis ab derefter 'Det returnerer True MsgBox "A er ikke lig med b,"' Dette vil blive udført. Ellers MsgBox "A og b er ens." 'Dette bliver ikke henrettet. Afslut IF Afslut Sub

I eksemplet ovenfor kontrollerer vi, om værdien af ​​a er ikke lig med b. Da dette er sandt, bliver If -sætningen eksekveret og Else ikke.

Du kan kontrollere det ved blot at bruge udsagnet.

a = 3 b = 4 debug.print ab

Dette vil udskrive True i det umiddelbare vindue.

Ovenstående seks operatorer kaldes sammenligningsoperatorer, da vi bruger dem til at sammenligne to værdier eller variabler. Du vil bruge dem meget i VBA til at træffe beslutninger i VBA.

4. Logiske operatører

Logiske operatorer bruges til at udføre logiske operationer på en eller flere variabler. Resultatet af sådanne operationer resulterer altid i SAND eller FALSK. De logiske operatorer bruges ofte (ikke altid) til at kontrollere mere end én betingelse.

Nedenfor er de logiske operatorer, vi bruger i VBA:

VBA OG Operatør (Og eller *): VBA OG -operatøren bruges til at sikre, at betingelserne til venstre og højre er sande. Hvis nogen af ​​betingelserne er Falsk, vil hele udsagnet resultere i Falsk. Vi bruger søgeordet And eller tegnet * (stjerne) til AND -operationer.

Tjek nedenstående erklæring:

Deltest () a = 10 b = 20 Hvis a <15 Og b <15 Så MsgBox "a og b begge er mindre end 15." 'Dette bliver ikke henrettet. Ellers MsgBox "Enten a eller b er større end eller lig med 15." 'Dette bliver udført. Afslut hvis slut Sub 

Når vi kører ovenstående kodestykke, udføres den anden if -sætning ikke. Fordi den første erklæring til venstre er sand, men udsagnet til højre er falsk. Derfor returnerer hele udsagnet Falsk.

På de fleste sprog bruges symbolet & som AND -operator, men ikke i VBA. I VBA kan du bruge multiplikationsoperatoren * (stjerne) som AND -operator for at sikre, at begge betingelser er sande.

I ovenstående eksempel kan du bruge nedenstående if -sætning til at gøre det samme.

Hvis (a <15) * (b <15) Så

Du skal bruge parentes til at adskille de betingede udsagn. Ellers vil udsagnene følge BODMAS -reglen, og resultatet vil være unøjagtigt.

Q1: Hvad bliver output fra nedenstående erklæring? Lad mig vide i kommentarfeltet herunder:

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

Når værdien af ​​a er 15 og b er 30. Skriv ned i kommentarfeltet herunder.

VBA ELLER Operatør (Eller eller +): OR -operatoren bruges, når vi vil sikre, at enten betingelsen Venstre er SAND, eller at den Højre betingelse er SAND. Hvis en af ​​de to betingelser er sand, vil resultatet være sandt. Vi bruger OR -søgeordet mellem to boolske udsagn. Du kan også bruge + (plus) -tegnet til ELLER -betjening. Bare sørg for at du bruger parentes korrekt til at gøre udsagn tydelige, mens du bruger + tegn.

Undersøg nedenstående kode:

Deltest () a = 10 b = 20 Hvis a <15 Eller b <15 Så MsgBox "Enten a eller b er mindre end 15." 'Dette bliver udført. Ellers MsgBox "Hverken a eller b er mindre end 15." 'Dette bliver ikke henrettet. Afslut hvis slut Sub

Når vi udfører ovenstående kode, vises den første meddelelse, og den anden meddelelse springes over. Fordi a er mindre end 15 og b ikke er. Det kræver kun en betingelse at være sand med OR -operatoren for at få output som sandt.

Du skriver udsagnet som:

Hvis (a <15) + (b <15) Så

Q2: Hvad bliver output fra nedenstående erklæring? Lad mig vide i kommentarfeltet herunder:

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

Når værdien af ​​a er 10 og b er 5. Skriv ned i kommentarfeltet herunder.

VBA NOT Operator (Not): Operatoren Ikke bruges til at vende den boolske værdi. Med andre ord, sætningen med ikke -operatoren returnerer kun sandt, hvis sætningen før den er falsk. Hvis du f.eks. Bruger søgeordet Ikke før en sand erklæring, vil det resultere i Falsk og omvendt. I VBA bruger vi Ikke nøgleord for at kontrollere, om noget ikke er hvad sandt eller falsk (?).

Deltest () a = 10 b = 10 Hvis ikke a = b Så MsgBox "a og b er ikke ens." Ellers MsgBox "a og b begge er ens." 'Dette bliver udført Slut hvis slut Sub

I ovenstående kode, erklæringIkke a = bvil returnere falsk. I første omgang er a = b sandt, men som vi har brugt Ikke før det, bliver resultatet omvendt, og udsagn bliver til Falsk. I ovenstående eksempel har vi brugt de eneste udsagn før det. Du kan have så mange udsagn, som du vil, før ikke operatør. Omslut dem bare i parentes.

Q3: Hvad bliver output fra nedenstående erklæring? Lad mig vide i kommentarfeltet herunder:

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

Når værdien af ​​a er 10 og b er 5. Skriv ned i kommentarfeltet herunder.

5. Sammenkædningsoperatører (& eller +)

Disse operatører bruges til at sammenkæde strenge. Symbolet & bruges til at sammenkoble tekster. Det er den anbefalede operatør at sammenkæde strenge. Du kan dog også bruge + -tegnet til at sammenkoble.

Plustegnet sammenkæder kun to variabler, når de begge er strenge. Hvis en af ​​strengen er ikke-streng, fungerer + -tegnet som en tillægsoperator.

Se nedenstående kode:

Deltest () a = "Exceltip" b = "er nummer" c = 1 d = 2 Debug.print a & b & c 'dette udskriver "Exceltip er nummer 1" Debug.print a + b & c & d' dette vil udskrive "Exceltip er nummer 12 'Debug.print a + b + c' dette vil være en fejl. Afslut Sub

I ovenstående kode fungerer de to første linjer helt fint. Den tredje linje løber ind i en fejl, fordi vi forsøger at tilføje tekst med tal. For at sammenkoble tal bruger vi altid & (amp).

Multifunktionelle operatører i VBA

Gennem ovenstående eksempler skal du have lært, at der er mange operatører, der fungerer forskelligt i forskellige situationer.

+ -Tegnet fungerer som tilføjelsesoperatoren, mens du arbejder med tal. Mens du arbejder med boolske værdier, fungerer plustegnet som Or -operator i VBA. Når den bruges med strengværdier, fungerer plusoperatoren som en sammenkædningsoperator. Nedenstående linjer er gyldige:

Debug.Print 10 + 20 'udskriver 30. + fungerer som tillægsoperatør. Debug.Print (1020) 'udskriver True. + fungerer som Or -operatør. Debug.Print "10" + "20" 'Udskriver 1020. + -tegnet fungerer som sammenkædningsoperator. 

Stjernetegnet (*) fungerer som en multiplikationsoperator, når operander er numeriske. Når operanderne er boolske, fungerer stjernen som And Operator.

Nedenstående kodelinjer fungerer helt fint.

Debug.Print 10 * 20 'udskriver 200. * fungerer som multiplikationsoperator. Debug.Print (1020) 'udskriver Falsk. + -Tegnet fungerer som Og -operator. 

Så ja fyre, alt dette handler om operatørerne i VBA. Jeg håber, det var nyttigt. Hvis du er i tvivl om operatørerne i VBA, så spørg i kommentarfeltet herunder.

If ElseIf -erklæringen i VBA | I If ElseIf -sætningen kontrolleres den næste betingelse kun, når den tidligere betingelse falder. Når en betingelse matches, udføres koden i denne blok, og kontrollen forlader If -blokken.

Excel VBA -variabelt omfang | VBA har også omfangsspecifikationer. Disse omfangsspecifikationer kan bruges til at indstille synligheden/omfanget af en variabel i Excel VBA.

VBA Select Case Statement | Select Case Statements er nyttige, når du har for mange betingelser at kontrollere. De er fremragende erstatninger af flere If ElseIf -udsagn.

Brug af Loop i VBA i Microsoft Excel | Sløjferne i VBA gør det muligt for os at udføre en lignende opgave igen og igen uden gentagelse af kode. Der er 3 typer sløjfer i Excel VBA.

ByRef og ByVal -argumenter | Når et argument sendes som et ByRef -argument til en anden sub eller funktion, sendes referencen til den aktuelle variabel. Eventuelle ændringer, der foretages i kopien af ​​variablen, vil afspejle sig i det originale argument.

Vis en meddelelse på Excel VBA -statuslinjen Statuslinjen i Excel kan bruges som en kodemonitor. Når din VBA -kode er lang, og du udfører flere opgaver ved hjælp af VBA, deaktiverer du ofte skærmopdateringen, så du ikke kan se, at skærmen flimrer

Sluk advarselsmeddelelser ved hjælp af VBA I Microsoft Excel 2016 | Denne kode deaktiverer ikke kun VBA -advarsler, men øger også kodeens tidseffektivitet. Lad os se hvordan.

Populære artikler:

50 Excel -genveje til at øge din produktivitet | Få hurtigere til din opgave. Disse 50 genveje får dig til at arbejde endnu hurtigere i Excel.

VLOOKUP -funktionen i Excel | Dette er en af ​​de mest anvendte og populære funktioner i excel, der bruges til at slå værdi op fra forskellige områder og ark.

COUNTIF i Excel 2016 | Tæl værdier med betingelser ved hjælp af denne fantastiske funktion. Du behøver ikke at filtrere dine data for at tælle specifik værdi. Countif -funktion er afgørende for at forberede dit dashboard.

Sådan bruges SUMIF -funktion i Excel | Dette er endnu en vigtig instrumentbrætfunktion. Dette hjælper dig med at opsummere værdier på bestemte betingelser.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave