VBA loģiskie operatori - VAI, UN, XOR, NAV, IR UN LIKE

VBA ļauj izmantot loģiskos operatorus Un, Vai, , Xor lai salīdzinātu vērtības. Operatori tiek uzskatīti par “Būla”, kas nozīmē, ka rezultātā viņi atgriež patiesu vai nepatiesu.

Ja vēlaties uzzināt, kā salīdzināt virknes, noklikšķiniet šeit: VBA Salīdzināt virknes - StrComp

Ja vēlaties uzzināt, kā izmantot salīdzināšanas operatorus, noklikšķiniet šeit: VBA salīdzināšanas operatori - nav vienādi ar citiem

Un loģiskā operatora izmantošana

The Un loģiskais operators salīdzina divus vai vairākus nosacījumus. Ja visi nosacījumi ir patiesi, operators atgriezīs True. Ja vismaz viens no nosacījumiem nav patiess, operators atgriezīs nepatiesu. Šeit ir piemērs:

123456789101112 Dim intA Kā vesels skaitlisDim intB Kā vesels skaitlisDim blnResult Kā BūlaintA = 5intB = 5Ja intA = 5 Un intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

Šajā piemērā mēs vēlamies pārbaudīt, vai abi intA un intB ir vienādi ar 5. Ja tā ir taisnība, Būla vērtība blnResult būs patiess, pretējā gadījumā tas būs nepatiess.

Pirmkārt, mēs iestatām vērtības intA un intB līdz 5:

12 intA = 5intB = 5

Pēc tam mēs izmantojam Un operators If paziņojumā, lai pārbaudītu, vai vērtības ir vienādas ar 5:

12345 Ja intA = 5 Un intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

Tā kā abi mainīgie ir vienādi ar 5, blnResult atgriež True:

1. attēls. Izmantojot loģisko operatoru VBA

Or loģiskā operatora izmantošana

The Vai loģiskais operators salīdzina divus vai vairākus nosacījumus. Ja vismaz viens no nosacījumiem ir patiess, tas atgriezīs True. Ja neviens no nosacījumiem nav patiess, operators atgriež nepatiesu. Šeit ir piemēra kods:

123456789101112 Dim intA Kā vesels skaitlisDim intB Kā vesels skaitlisDim blnResult Kā BūlaintA = 5intB = 10Ja intA = 5 Vai intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

Šajā piemērā mēs vēlamies pārbaudīt, vai abi intA ir vienāds ar 5. vai intB ir vienāds ar 10. Ja kāds no šiem nosacījumiem ir patiess, Būla vērtība blnResult būs patiess, pretējā gadījumā tas būs nepatiess.

Pirmkārt, mēs iestatām vērtību intA līdz 5 un intB līdz 10:

12 intA = 5intB = 10

Pēc tam mēs izmantojam Vai operators If paziņojumā, lai pārbaudītu, vai kāda no vērtībām ir vienāda ar 5:

12345 Ja intA = 5 Vai intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

intA vērtība ir 5, blnResult atgriež True:

2. attēls. Izmantojot loģisko operatoru VBA

Ne loģiskā operatora izmantošana

The loģiskais operators pārbauda vienu vai vairākus nosacījumus. Ja nosacījumi ir patiesi, operators atgriež nepatiesu. Pretējā gadījumā tas atgriezīs True. Šeit ir piemēra kods:

12345678910 Dim intA Kā vesels skaitlisDim blnResult Kā BūlaintA = 5Ja nē (intA = 6) TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

Šajā piemērā mēs vēlamies pārbaudīt, vai vērtība intA nav vienāds ar 6. Ja intA ir atšķirīgs no 6, Būla vērtība blnResult būs patiess, pretējā gadījumā tas būs nepatiess.

Pirmkārt, mēs iestatām vērtību intA līdz 5:

1 intA = 5

Pēc tam If paziņojumā mēs izmantojam operatoru Not, lai pārbaudītu, vai intA vērtība atšķiras no 6:

12345 Ja nē (intA = 6) TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

intA vērtība ir 5, blnResult atgriež True:

3. attēls. Nav loģiskā operatora izmantošana VBA

Izmantojot Xor loģisko operatoru

The Xor loģiskais operators salīdzina divus vai vairākus nosacījumus. Ja precīzi viens no nosacījumiem ir patiess, tas atgriezīs True. Ja neviens no nosacījumiem nav patiess vai ir vairāk nekā viens, tas atgriezīs nepatiesu. Šeit ir piemēra kods:

123456789101112 Dim intA Kā vesels skaitlisDim intB Kā vesels skaitlisDim blnResult Kā BūlaintA = 5intB = 10Ja intA = 5 X vai intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

Šajā piemērā mēs vēlamies pārbaudīt, vai tieši viena no vērtībām (intA vai IntB) ir vienāda ar 5. Ja ir izpildīts tikai viens nosacījums, Būla vērtība blnResult būs patiess, pretējā gadījumā tas būs nepatiess.

Pirmkārt, mēs iestatām vērtību intA līdz 5 un intB līdz 10:

12 intA = 5intB = 10

Pēc tam mēs izmantojam Vai operators If paziņojumā, lai pārbaudītu, vai kāda no vērtībām ir vienāda ar 5:

12345 Ja intA = 5 X vai intB = 5 TadblnResult = PatiessCitādiblnResult = NepareiziBeigas Ja

intA vērtība ir 5 un intB ir 10, blnResult atgriež True:

Attēls 4. Izmantojot Xor loģisko operatoru VBA

Ir Operators

Is Operator pārbauda, ​​vai divi objekta mainīgie saglabā vienu un to pašu objektu.

Apskatīsim piemēru. Šeit mēs darblapas objektiem rng1 un rng2 piešķirsim divas darblapas, pārbaudot, vai abos darblapas objektos ir saglabāta viena darblapa:

12345678910111213 Sub CompareObjects ()Dim ws1 kā darblapa, ws2 kā darblapaSet ws1 = Sheets ("Sheet1")Iestatīt ws2 = Sheets ("Sheet2")Ja ws1 Vai ws2 TadMsgBox "Tas pats WS"CitādiMsgBox "Dažādi WS"Beigas JaBeigu apakš

Protams, darblapas objekti nav vienādi, tāpēc tiek atgriezts “Dažādi WS”.

Tāpat kā Operators

Līdzīgais operators var salīdzināt divas virknes, lai iegūtu neprecīzas atbilstības. Šajā piemērā tiks pārbaudīts, vai virkne sākas ar “Mr.”

1234567891011121314 Sub LikeDemo ()Dim strName As StringDim blnResult Kā BūlastrName = "Maikla Džeimsa kungs"Ja strName Tāpat kā "Mr*" TadblnResult = PatiessCitādiblnResult = NepareiziBeigas JaBeigu apakš

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave