Kuidas kasutada VBA väljaannet If Vse? (koos näidetega)

Lang L: none (table-of-contents)

Exceli VBA IF muu avaldus

Töölehel pole IF Else lauset ja seda saab kasutada ainult VBA-koodis. VBA-s töötades võime pakkuda tingimuse, mis on lause If tingimus ja kui see on täidetud, siis täidetakse see teatud käskude komplekt ja kui tingimus nurjub käsus, siis täidetakse muu lause.

VBA ei erine loogiliste testide osas. See töötab samamoodi nagu tavalistel töölehtedel. Kõigist loogilistest funktsioonidest kasutatakse partiist enamasti funktsiooni “IF”. IF-i abil saame läbi viia loogilise testi ja jõuda otsusteni, kui loogiline test on täidetud, ning jõuda ka alternatiivsete otsusteni, kui loogiline test pole rahul.

Allpool on IF Else tingimuse süntaks.

Kui siis, kui loogiline test on tõsi, siis kui loogiline test on VALE, siis lõpetage IF

Mis on VBA KUI siis muu väide?

Kui pakutav loogiline test on FALSE, vajame koodi osana mõnda muud alternatiivset ülesannet. Nii et “KUI MUU” tähendab, et kui loogiline test on VALE, siis mida veel teha tuleb.

Allpool toodud näite paremaks mõistmiseks oleme tulemuse esitanud kui “10 on suurem” ainult siis, kui loogiline test on TÕSI. Sellegipoolest võime FALSE loogilises tulemuses esitada alternatiivse tulemuse, kui “10 on väiksem”.

Niisiis, kui loogilised testid on esitatud ja järgmisele reale on kirjutatud TRUE-osa kood, sisestage sõna „ELSE”.

ELSE tähendab, et kui loogiline test ei ole tõene, vajame tulemust, kuna “10 on väiksem”.

Kood:

Sub IF_Else_Example1 () Kui 10> 11 Siis MsgBox "10 on suurem" Muu MsgBox "10 on väiksem" End if End Sub

Nüüd annab meie kood vähemalt ühe ülaltoodud tulemustest. Käivitage kood ja vaadake tulemust.

Kuna oleme esitanud alternatiivse tulemuse, kui loogiline test on VÄÄR, on see kuvanud alternatiivse tulemuse väärtusega „10 on väiksem“, kuna 10 on väiksem kui teine ​​arv 11.

Näide

Näiteks vaadake allolevaid andmeid.

Nende andmete abil peame jõudma olekuni, mis põhineb iga toote „kulul”. Allpool oleku saabumiseks on kriteeriumid.

Kui omahind on> 50, peaks olek olema „ Kallis ” või muul juhul „ Mitte kallis ”.

Siin tuleb testida omahinda, st loogilist testi, kas omahind on> 50 või mitte. Kui loogiline test on TÕENE, st omahind on üle 50, vajame olekut „Kallis” ja kui loogiline test on VALE, st omahind on alla 50, vajame alternatiivset tulemust "Pole kallis."

Ok, kirjutame nüüd koodi. Enne seda kopeerige ja kleepige ülaltoodud tabel Exceli töölehele.

1. samm: alustage alamprotseduuri.

Alam IF_ELSE_Näide2 () Lõpeta alam

2. samm: deklareerige muutuja terviku andmetüübina.

Dim k täisarvuna

3. samm: kuna meil on vaja testida rohkem kui ühte lahtri väärtust, peame rakkude läbilaskmiseks ja kõigi rakkude loogika rakendamiseks kasutama FOR VBA LOOP.

Me peame rakendama loogiline testide 2. rida kuni 8 th rida, et alustada silmus 2 kuni 8.

Kood:

Kui k = 2 kuni 8 Järgmine k

4. samm: selles silmus peame käivitama loogilise testi. Niisiis avage IF-lause ja valige CELLS-i vara abil esimene lahter.

Kood:

Kui lahtrid (k, 2). Väärtus> 50 Siis

Lahtrid (k, 2) tähendavad siin rida (k väärtus) ja veerg 2.

5. samm: kui selle lahtri väärtus on> 50, vajame järgmise veeru lahtrisse tulemust kui „Kallis“. Nii et kood on -

Kood:

Lahtrid (k, 3). Väärtus = "Kallis"

6. samm: kui test ei ole tõene, vajame ELSE avalduse tulemusi, st „Pole kallis”.

Kood:

Alam IF_ELSE_Eexample2 () Dim k täisarvuna k = 2 kuni 8 kui lahtrid (k, 2). Väärtus> 50 Siis lahtrid (k, 3). Väärtus = "Kallis" Muud rakud (k, 3). Väärtus = "Ei Kallis "Lõpeta, kui järgmine k Lõpp alam

See kood kontrollib numbreid 2. ja 8. rea vahel ning jõuab tulemuseni omahinna põhjal.

Nii saame alternatiivsete tulemuste saamiseks kasutada If-Else'i.

Asjad, mida meeles pidada

  • Muu lause on mõeldud FALSE loogilise testi jaoks.
  • Kui soovite Excelis rakendada rohkem kui kahte loogilist testi, peame kasutama lauset ELSE IF.
  • Rohkem kui ühe lahtri ülesande täitmise korral peame kasutama tsükleid.
  • Kui muu lause saab testida ainult ühte loogilist testi.

Huvitavad Artiklid...