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

„Excel VBA“ ir funkcija

AND yra loginė funkcija, taip pat loginis operatorius, kuris 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 neteisinga, mes turime integruota IR komanda VBA naudoti.

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

Gerai, pažvelkite į „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 ląstelėse rezultatą gavome kaip TIKRĄ, nes 1 ir 2 bandymų rezultatai yra didesni arba lygūs 250.

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

VBA ir funkcijos naudojimo pavyzdžiai

Šį VBA IR „Excel“ šabloną galite atsisiųsti čia - VBA IR „Excel“ šablonas

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 funkciją AND.

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ų taikėme pirmąją sąlygą 25> = 20, ši sąlyga yra įvykdyta, taigi rezultatas yra TIKRA, o antroji sąlyga 30 <= 29 tai nėra patenkintas rezultatas yra NETIESA. Kad rezultatas būtų tikras, 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-asis loginis testas: 100> 95 = TIESA

2-asis loginis testas: 100 <200 = TIESA

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 vienintelis 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 tą patį, kaip ir mūsų darbalapio funkcija, bet mes negausime jokių formulių, mes gausime 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.


$config[zx-auto] not found$config[zx-overlay] not found