VBA IR funkcija - Kaip naudoti IR loginį operatorių VBA?

„Excel VBA“ ir funkcija

AND yra loginė funkcija, taip pat loginis operatorius, o tai reiškia, kad jei bus įvykdytos visos šioje funkcijoje numatytos sąlygos, tik mes turėsime tikrąjį rezultatą, o jei kuri nors iš sąlygų nepavyksta, išvestis grąžinama kaip klaidinga, mes turime integruota IR komanda VBA naudoti.

Tikiuosi, kad jūs peržiūrėjote mūsų straipsnius „VBA ARBA“ ir „VBA JEI ARBA“. Ši funkcija yra tiesiog priešinga OR funkcijai. OR funkcijoje mums reikėjo, kad bet kuri iš pateiktų loginių sąlygų būtų įvykdyta, kad gautų rezultatą kaip TRUE. Tačiau funkcijoje AND yra atvirkščiai. Norint gauti TRUE rezultatą, reikia patenkinti visus pateiktus loginius „Excel“ testus.

Gerai, pažvelk į „Excel“ funkcijos sintaksę.

(Loginis testas) IR (Loginis testas) IR (Loginis testas)

Pirmiau turiu du testo balus iš 600.

Rezultatų stulpelyje turiu gauti TIKRĄ rezultatą, jei abiejų testų rezultatas didesnis nei 250.

Pažvelkite į žemiau esantį vaizdą.

Kai pritaikome loginę funkciją IR gavome rezultatus. C4 ir C5 langelyje rezultatą gavome kaip TIKRĄ, nes 1 ir 2 bandymų rezultatai yra didesni arba lygūs 250.

Pažvelkite į C6 langelį čia. Mes gavome FALSE, net jei 2 testo rezultatas yra lygus 250. Taip yra todėl, kad 1 bandyme rezultatas yra tik 179.

VBA ir funkcijos naudojimo pavyzdžiai

1 pavyzdys

Pavyzdžiui, čia mes išbandysime skaičius, ar 25> = 20 ir 30 <= 31.

1 veiksmas: paskelbkite kintamąjį kaip eilutę.

Kodas:

AN ANpavyzdys1 () Dim K, kaip eilutės pabaiga Sub

2 žingsnis: kintamajam „k“ reikšmę priskirsime naudodami AND funkciją.

Kodas:

AN ANPavyzdys1 () Dim K kaip eilutė K = End Sub

3 žingsnis: pateikite pirmąją sąlygą kaip 25> = 20.

Kodas:

AN ANpavyzdys1 () Dim K Kaip eilutė K = 25> = 20 Pabaiga Sub

4 žingsnis: Dabar atidarykite AND funkciją ir pateikite antrąjį loginį testą, ty 30 <= 29.

Kodas:

AN ANpavyzdys1 () Dim K kaip eilutė K = 25> = 20 ir 30 <= 29 Pabaigos antrinė dalis

5 žingsnis: Dabar rodykite kintamojo „k“ rezultatą VBA pranešimų laukelyje.

Kodas:

AN ANpavyzdys1 () Dim K kaip eilutė K = 25> = 20 ir 30 <= 29 MsgBox K Pabaiga

Paleiskite makrokomandą, kad pamatytumėte, koks yra rezultatas.

Rezultatą gavome kaip NETIESĄ, nes iš dviejų sąlygų, pirmoji sąlyga 25> = 20, ši sąlyga yra įvykdyta, taigi rezultatas yra TIKRA, o antroji sąlyga 30 <= 29 tai nėra patenkintas rezultatas yra NETIESA. Norint gauti rezultatą kaip TIESĄ, turėtų būti tenkinamos abi sąlygos.

2 pavyzdys

Dabar pakeisiu loginį testą į „100> 95 IR 100 <200“.

Kodas:

AN ANPavyzdys2 () Dim k As eilutė k = 100> 95 ir 100 <200 MsgBox k Pabaiga Sub

Paleiskite kodą, kad pamatytumėte rezultatą.

Čia mes gavome TIKRĄ rezultatą, nes

1 g loginį testą: 100> 95 = Tikras

2 -oji loginį testą: 100 <200 = Tikras

Kadangi mes gavome TIKRUS abiejų loginių testų rezultatus, mūsų galutinis rezultatas yra TIKRA.

3 pavyzdys

Dabar pamatysime duomenis iš darbalapio. Naudokite duomenis, kuriuos naudojome, norėdami parodyti „Excel“ ir „AND“ funkcijos pavyzdį.

Čia sąlyga yra 1 bandymo rezultatas> = 250 IR 2 bandymo rezultatas> = 250 .

Kadangi turime daugiau nei vieną duomenų langelį, turime naudoti kilpas, kad išvengtume nereikalingų ir daug laiko reikalaujančių kodų eilučių. Aš parašiau jums žemiau esantį kodą; formulė ir logika yra tas pats dalykas, aš naudojau „VBA For Next Loop“.

Kodas:

AND_pavyzdys3 () Dim k kaip sveikoji k = 2–6 ląstelės (k, 3). Vertė = ląstelės (k, 1)> = 250 ir ląstelės (k, 2)> = 250 Kitas k End Sub

Tai suteiks rezultatą lygiai tokį patį kaip ir mūsų darbalapio funkcija, tačiau negausime jokių formulių. Mes gauname tik rezultatus.

Panašiai, mes galime pritaikyti loginę funkciją AND, kad išbandytume kelias sąlygas, kurios visos turėtų būti TIKROS norint pasiekti norimus rezultatus.

Tai veikia visiškai priešingai nei OR funkcijai, kai OR reikalauja, kad bet kuri iš pateiktų sąlygų būtų TIKRA, kad gautų rezultatus, tačiau IR reikalauja 100% rezultato, kad gautų rezultatus loginis testas.

Įdomios straipsniai...