VBA O Pag-andar (Mga Halimbawa) | Paano Gumamit O Lohikal na Operator sa VBA?

O ay isang lohikal na pagpapaandar sa alinman sa mga wika ng programa at katulad sa VBA na mayroon kaming OR function, dahil ito ay isang lohikal na pagpapaandar ang resulta na ibinigay ng pagpapaandar na ito ay alinman sa totoo o mali, ang pagpapaandar na ito ay ginagamit para sa dalawa o maraming mga kundisyon na magkakasama at nagbibigay tunay na resulta sa amin kapag ang alinman sa mga kundisyon ay naibalik na totoo.

Ano ang O Pag-andar sa VBA?

Sa excel lohikal na mga pagpapaandar ay ang puso ng mga formula na ginagamit namin sa araw-araw. Ang mga lohikal na pag-andar ay naroroon upang magsagawa ng lohikal na pagsubok at magbibigay ng resulta sa uri ng data ng Boolean ibig sabihin alinman sa TAMA o MALI. Ang ilan sa mga lohikal na pormula sa excel ay "KUNG, IFERROR sa excel, ISERROR sa excel, AT, at O ​​excel function". Inaasahan kong ginamit mo ang mga ito nang madalas bilang isang pagpapaandar ng worksheet. Sa VBA din maaari naming gamitin ang lahat ng mga ito at sa artikulong ito, ipapaliwanag namin sa iyo ang mga paraan ng paggamit ng "VBA O" na function.

Ano ang unang pumasok sa iyong isipan kapag naisip mo ang salitang "O"?

Sa simpleng term na "O" nangangahulugang "alinman sa o na"

Gamit ang parehong ideya O isang lohikal na pagpapaandar na nagbibigay ng resulta bilang TUNAY kung ang alinman sa mga lohikal na pagsubok ay TUNAY at nagbibigay ng MALI bilang resulta kung wala sa mga lohikal na pagsubok ang TUNAY.

Gumagana ito nang eksaktong kabaligtaran ng pagpapaandar ng VBA AT. AT ang function ay magbabalik TUNAY lamang kung ang lahat ng mga lohikal na kundisyon ay TUNAY, kung ang alinman sa mga kundisyon ay hindi nasiyahan sa gayon makakakuha kami ng MALI bilang resulta.

Formula ng VBA O Pag-andar

Hayaan mo akong mag-frame ng isang syntax para maunawaan mo ang pagpapaandar.

[Lohikal na Pagsubok] O [Lohikal na Pagsubok] O [Lohikal na Pagsubok]

Una, kailangan nating banggitin kung ano ang lohikal na pagsubok pagkatapos ay banggitin ang salitang O pagkatapos ay banggitin kung ano ang pangalawang lohikal na pagsubok. Kung nais mong magsagawa ng isang mas lohikal na pagsubok pagkatapos ay banggitin ang salitang O pagkatapos ng everting lohikal na pagsubok.

I-off ang lahat ng mga lohikal na pagsubok na iyong ginagawa, kung ang sinuman sa mga pagsubok ay nasiyahan o totoo pagkatapos ay makukuha namin ang resulta bilang TUNAY kung wala o nasiyahan kung gayon ang resulta ay MALI.

Mga halimbawa ng Paggamit O Pag-andar sa VBA

Ipapakita namin sa iyo ang isang simpleng halimbawa ng paggamit ng OR function sa VBA.

Maaari mong i-download ang VBA O Excel Template na ito dito - VBA O Excel Template

Upang maunawaan ang lohikal na pagpapaandar ng VBA O hayaan mo akong magbigay sa iyo ng isang halimbawa. Sabihin nating nais nating magsagawa ng lohikal na pagsubok kung ang bilang 25 ay mas malaki sa 20 o ang bilang 50 ay mas mababa sa 30.

Hakbang 1: Lumikha ng isang pangalan ng macro.

Hakbang 2: Tukuyin ang variable bilang isang string.

Code:

 Sub OR_Example1 () Madilim i Bilang String End Sub 

Hakbang 3: Ngayon para sa variable na ito, itatalaga namin ang halaga sa pamamagitan ng O lohikal na pagsubok.

Code:

 Sub OR_Example1 () Dim i As String i = End Sub 

Hakbang 4: Ang aming unang lohikal na pagsubok ay 25 >20.

Code:

 Sub OR_Example1 () Dim i As String i = 25> 20 End Sub 

Hakbang 5: Ngayon pagkatapos ng unang lohikal na pagsubok banggitin ang salita O kaya at ipasok ang pangalawang lohikal na pagsubok.

Code:

 Sub OR_Example1 () Dim i As String i = 25> 20 O 50 <30 End Sub 

Hakbang 6: Ok, ngayon ang pagsubok ng pagpapaandar ng VBA O pag-andar kung ang lohikal na mga pagsubok ay TAMA o MALI. Ngayon italaga ang resulta ng variable sa VBA kahon ng mensahe.

Code:

 Sub OR_Example1 () Dim i As String i = 25> 20 O 50 <30 MsgBox i End Sub 

Hakbang 7: Patakbuhin ang macro at kung ano ang resulta.

Nakuha namin ang resulta bilang TUNAY sapagkat sa labas ng dalawang lohikal na pagsubok na ibinigay namin ang isang pagsubok ay TUNAY kaya ang resulta ay TUNAY.

Ang 25 ay mas malaki sa 20 at 50 ay hindi mas mababa sa 30, sa kasong ito, ang unang lohikal na pagsubok ay TOTOO ngunit ang pangalawa ay MALI. Dahil inilapat namin ang pagpapaandar ng VBA O, kailangan nito ang alinman sa mga kundisyon upang maging TUNAY upang makuha ang resulta bilang TUNAY.

Ngayon, tingnan ang code sa ibaba.

Code:

 Sub OR_Example1 () Dim i As String i = 25 = 20 O 50 = 30 MsgBox i End Sub 

Mayroon akong mga pagbabago sa lohikal na mga equation ng pagsubok mula sa> at <sa pantay (=) na pag-sign. Ibabalik nito ang MALI bilang resulta dahil ang 25 ay hindi katumbas ng 20 at 50 ay hindi katumbas ng 30.

VBA O Pag-andar KUNG Kundisyon ay Malakas

Tulad ng sinabi ko O maaaring bumalik alinman sa TUNAY o MALI bilang resulta, ngunit sa iba pang lohikal na pagpapaandar na "KUNG", maaari nating manipulahin ang mga resulta alinsunod sa aming mga pangangailangan.

Sumakay sa parehong mga lohikal na pagsubok mula sa itaas, O bumalik lamang ng TAMA o MALI ngunit pagsamahin natin ito O sa KUNG.

Hakbang 1: Bago magsagawa ng anumang pagsubok buksan ang pagpapaandar KUNG.

Code:

 Sub OR_Example2 () Dim i Bilang String KUNG Tapusin ang Sub 

Hakbang 2: Magsagawa ngayon ng mga pagsubok gamit ang O kaya pagpapaandar

Code:

 Sub OR_Example2 () Dim i As String KUNG 25 = 20 O 50 = 30 End Sub 

Hakbang 3: Ilagay ang salitang "Pagkatapos" at isulat ang resulta kung ang kondisyon ay TUNAY, italaga ang halaga sa variable bilang "Ang Kundisyon ay nasiyahan".

Code:

 Sub OR_Example2 () Dim i As String Kung 25 = 20 O 50 = 30 Kung gayon i = "Ang Kundisyon ay nasiyahan" End Sub 

Hakbang 4: Kung ang kondisyon ay MALI pagkatapos ay kailangan natin ng ibang resulta, kaya't ilagay ang salita "ELSE" at sa susunod na linya italaga ang halaga sa variable na "ano ang dapat na resulta kung ang kundisyon o lohikal na pagsubok ay MALI".

Code:

 Sub OR_Example2 () Dim i As String Kung 25 = 20 O 50 = 30 Kung gayon i = "Ang Kundisyon ay Nasisiyahan" Iba pa i = "Ang Kundisyon ay hindi nasiyahan" End Sub 

Hakbang 5: Tapusin ang pagpapaandar ng IF sa salitang "Tapusin kung".

Code:

 Sub OR_Example2 () Dim i As String Kung 25 = 20 O 50 = 30 Kung gayon i = "Ang Kundisyon ay Nasisiyahan" Iba pa i = "Ang Kundisyon ay hindi nasiyahan" Wakas Kung Nagtatapos Sub 

Hakbang 6: Italaga ang halaga ng variable na resulta sa kahon ng mensahe.

Code:

 Sub OR_Example2 () Dim i Bilang String Kung 25 = 20 O 50 = 30 Kung gayon i = "Ang Kundisyon ay nasiyahan" Iba pa i = "Ang Kundisyon ay hindi nasiyahan" Wakas Kung MsgBox i End Sub 

Patakbuhin ang macro, kung ang lohikal na pagsubok ay TUNAY makukuha namin ang resulta bilang "Ang Kundisyon ay nasiyahan" o kung hindi man ay makukuha natin ang "Ang Kundisyon ay Hindi nasiyahan".

Nakuha namin ang resulta bilang "Hindi nasiyahan ang kundisyon" sapagkat kapwa ang mga lohikal na pagsubok ay MALI.

Ngayon babaguhin ko ang mga lohikal na pagsubok.

Code:

 Sub OR_Example2 () Dim i As String Kung 25> 20 O 50 <30 Kung gayon i = "Ang Kundisyon ay nasiyahan" Iba pa i = "Ang Kundisyon ay Hindi nasiyahan" Wakas Kung MsgBox i End Sub 

Tatakbo ko ang macro at tingnan kung ano ang resulta.

Tulad nito, maaari naming gamitin ang isang lohikal na pagpapaandar kasama ang iba pang mga lohikal na pag-andar upang makarating sa mga resulta.

Malutas ang pag-aaral sa kaso sa ibaba upang masanay sa mga lohikal na pag-andar.

Pag-aaral ng Kaso upang Malutas

Mayroon akong mga pangalan ng empleyado at kani-kanilang departamento.

Kung sinubukan mo at hindi nahanap ang resulta maaari kang mag-refer sa ibaba ng code upang maunawaan ang lohika.

Code:

 Sub Bonus_Calculation () Dim i As Long For i = 2 To 10 If Cells (i, 2) .Value = "Finance" O Mga Cell (i, 2). Value = "IT" Pagkatapos ng Mga Cell (i, 3). Halaga = 5000 Iba Pang Mga Cell (i, 3). Halaga = 1000 Pagtatapos Kung Susunod i End Sub 

Kung ang empleyado ay mula sa "Pananalapi" o "IT" dapat makuha nila ang bonus bilang "5000". Para sa ibang mga empleyado ng departamento, ang bonus ay "1000".

Magsagawa ng lohikal na pagsubok at makarating sa mga resulta.