Excel VBA: Jos lausunto perustuu solun arvoon (2 käytännön esimerkkiä)

  • Jaa Tämä
Hugh West

Tässä artikkelissa näytän, miten voit käyttää apuna If-lausunto osoitteessa VBA Excelissä solun arvon perusteella.

Excel VBA: If-lauseke solun arvon perusteella (Pikakatselu)

 Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

Lataa harjoituskirja

Lataa tämä harjoituskirja, jotta voit harjoitella tätä artikkelia lukiessasi.

Jos lauseke perustuu solun arvoon.xlsmsm

Jos lausunto perustuu solun arvoon Excel VBA: ssa

Tässä meillä on laskentataulukko, joka sisältää seuraavat tiedot nimet ja merkit joidenkin koulun oppilaiden tulokset kokeessa.

Tavoitteenamme on oppia käyttämään If-lausunto Excelissä VBA joka perustuu tämän tietokokonaisuuden solun arvoon.

1. Yhden solun arvoon perustuva If-lauseke Excel VBA:ssa

Ensiksi opettelemme käyttämään yhden solun arvoon perustuvaa If-lauseen käyttöä.

Yritetään esimerkiksi katsoa, läpäisikö Natalia Austin kokeen vai ei, eli onko solun merkintä C3 on suurempi kuin 40 tai ei.

Pylväs D sisältää opiskelijoiden tuloksen. Toisin sanoen, jos solu C3 sisältää merkin, joka on suurempi kuin 40, solu D3 sisältää "Läpäissyt" . Muuten se sisältää "Epäonnistui" .

Käytämme VBA Valikoima objektin luodakseen tämän If-lausunto solun arvon perusteella.

The VBA koodi tähän on:

⧭ VBA-koodi:

 Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

⧭ Lähtö:

Suorita koodi Suorita Sub / UserForm työkalu VBA työkalupalkki.

Se tekee solun D3 sisältävät "Epäonnistui" , kuten solun C3 on pienempi kuin 40 ( 32 ).

2. Excel VBA:n soluvälien arvoihin perustuva If-lauseke Excel VBA:ssa

Voit myös käyttää If-lausunto perustuen solualueen arvoihin sarakkeessa VBA Voit käyttää for-silmukka tätä tarkoitusta varten.

Esimerkiksi tässä tapauksessa voimme selvittää kaikkien oppilaiden tulokset yhdellä koodilla. Iteroimme läpi a for-silmukka joka tarkistaa kaikki alueen solut. C3:C12 ja palauttaa vastaavan tuloksen, "Läpäissyt" tai "Epäonnistui" .

The VBA koodi tätä varten on:

⧭ VBA-koodi:

 Sub If_Statement_Based_On_a_Range_of_Cells() For i = 1 To Range("C3:C12").Rows.Count If Range("C3:C12").Cells(i, 1).Value>= 40 Then Range("D3:D12").Cells(i, 1).Value = "Hyväksytty" Else Range("D3:D12").Cells(i, 1).Value = "Epäonnistunut" End If Next i End Sub 

⧭ Lähtö:

Suorita koodi Suorita Sub / UserForm työkalu VBA työkalupalkki. Se palauttaa "Läpäissyt" merkit, jotka ovat suurempia kuin 40 ja "epäonnistunut" niille, jotka ovat alle 10 prosenttia, ja "epäonnistunut" niille, jotka ovat alle 10 prosenttia. n 40 .

Muistettavat asiat

Tässä olen näyttänyt If-lausunto yhdellä ehdolla. Halutessasi voit kuitenkin käyttää useita ehtoja yhden ehdon sisällä. If-lausunto .

Jos käytät TAI kirjoita useita ehtoja, yhdistä ne TAI .

Ja jos käytät AND kirjoita useita ehtoja, yhdistä ne AND .

Tarkistetaan esimerkiksi, onko solun merkintä B3 on suurempi kuin 40 ja alle 50 tai ei, käytä:

 If (Range("C3").Value> 40 Or Range("C3").Value <50) Then 

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.