VBA logički operatori - ILI, I, XOR, NE, JESTE, I SLIČNO

VBA vam omogućuje korištenje logičkih operatora I, Ili, Ne, Xor za usporedbu vrijednosti. Operatori se smatraju "Boolean", što znači da kao rezultat vraćaju True ili False.

Ako želite naučiti uspoređivati ​​nizove, kliknite ovdje: VBA Usporedi nizove - StrComp

Ako želite naučiti kako koristiti operatore za usporedbu, kliknite ovdje: VBA Operatori za usporedbu - nije jednako & više

Korištenje operatora And Logical Operator

The I logički operator uspoređuje dva ili više uvjeta. Ako su svi uvjeti istiniti, operator će vratiti True. Ako barem jedan od uvjeta nije istinit, operator će vratiti False. Evo primjera:

123456789101112 Dim intA kao cijeli brojDim intB kao cijeli brojDim blnResult Kao BooleanintA = 5intB = 5Ako je intA = 5 I intB = 5 TadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

U ovom primjeru želimo provjeriti jesu li oboje intA i intB jednaki su 5. Ako je to točno, vrijednost Booleova blnResult bit će istina, u protivnom će biti netočna.

Prvo postavljamo vrijednosti intA i intB do 5:

12 intA = 5intB = 5

Nakon toga koristimo I operator u naredbi If provjerava jesu li vrijednosti jednake 5:

12345 Ako je intA = 5 I intB = 5 TadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

Kako su obje varijable jednake 5, blnResult vraća True:

Slika 1. Upotreba logičkog operatora And u VBA

Korištenje ili logičkog operatora

The Ili logički operator uspoređuje dva ili više uvjeta. Ako je barem jedan od uvjeta istinit, vratit će se True. Ako nijedan od uvjeta nije istinit, operator će vratiti False. Evo koda za primjer:

123456789101112 Dim intA kao cijeli brojDim intB kao cijeli brojDim blnResult Kao BooleanintA = 5intB = 10Ako je intA = 5 Ili intB = 5 TadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

U ovom primjeru želimo provjeriti jesu li oboje intA jednak je 5. ili intB jednaka je 10. Ako je bilo koji od ovih uvjeta istinit, vrijednost Booleova blnResult bit će istina, u protivnom će biti netočna.

Prvo smo postavili vrijednost intA do 5 i intB do 10:

12 intA = 5intB = 10

Nakon toga koristimo Ili operator u naredbi If provjerava je li neka od vrijednosti jednaka 5:

12345 Ako je intA = 5 Ili intB = 5 TadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

Kao intA vrijednost je 5, blnResult vraća True:

Slika 2. Upotreba logičkog operatora Or u VBA

Korištenje nelogičnog operatora

The Ne logički operator provjerava jedan ili više uvjeta. Ako su uvjeti istiniti, operator vraća False. U suprotnom slučaju vraća True. Evo koda za primjer:

12345678910 Dim intA kao cijeli brojDim blnResult Kao BooleanintA = 5Ako nije (intA = 6) tadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

U ovom primjeru želimo provjeriti je li vrijednost intA nije jednako 6. Ako intA je različita od 6, vrijednost Booleove vrijednosti blnResult bit će istina, u protivnom će biti netočna.

Prvo smo postavili vrijednost intA do 5:

1 intA = 5

Nakon toga koristimo operator Not u naredbi If kako bismo provjerili je li vrijednost intA različita od 6:

12345 Ako nije (intA = 6) tadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

Kao intA vrijednost je 5, blnResult vraća True:

Slika 3. Korištenje operatora Nije logično u VBA

Korištenje Xor logičkog operatora

The Xor logički operator uspoređuje dva ili više uvjeta. Ako je točno jedan od uvjeta istinit, vratit će se True. Ako nijedan uvjet nije istinit ili je više od jednog istinito, vratit će se Netačno. Evo koda za primjer:

123456789101112 Dim intA kao cijeli brojDim intB kao cijeli brojDim blnResult Kao BooleanintA = 5intB = 10Ako je intA = 5 Xor intB = 5 TadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

U ovom primjeru želimo provjeriti je li točno jedna od vrijednosti (intA ili IntB) jednaka 5. Ako je samo jedan uvjet istinit, vrijednost Boolean blnResult bit će istina, u protivnom će biti netočna.

Prvo smo postavili vrijednost intA do 5 i intB do 10:

12 intA = 5intB = 10

Nakon toga koristimo Ili operator u naredbi If provjerava je li neka od vrijednosti jednaka 5:

12345 Ako je intA = 5 Xor intB = 5 TadablnResult = IstinaDrugoblnResult = NetačnoZavrši ako

Kao intA vrijednost je 5 i intB je 10, blnResult vraća True:

Slika 4. Upotreba logičkog operatora Xor u VBA -i

Je Operator

Operator Is testira ako dvije varijable objekta pohranjuju isti objekt.

Pogledajmo primjer. Ovdje ćemo objektima radnog lista rng1 i rng2 dodijeliti dva radna lista, testirajući pohranjuju li dva objekta radnog lista isti radni list:

12345678910111213 Sub CompareObjects ()Zatamni ws1 kao radni list, ws2 kao radni listPostavi ws1 = Tablice ("List 1")Postavi ws2 = Tablice ("List 2")Ako je ws1 Je ws2 TadaMsgBox "Isti WS"DrugoMsgBox "Različiti WS -ovi"Završi akoKraj podm

Naravno, objekti radnog lista nisu isti, pa se vraća “Different WSs”.

Kao Operater

Operator Like može usporediti dva niza za netočna podudaranja. Ovaj primjer će provjeriti počinje li niz s "Mr."

1234567891011121314 Sub LikeDemo ()Dim strName As StringDim blnResult Kao BooleanstrName = "Gospodin Michael James"Ako strName poput "Mr*" TadablnResult = IstinaDrugoblnResult = NetačnoZavrši akoKraj podm

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave