Excel VBA: Izjava If na podlagi vrednosti celice (2 praktična primera)

  • Deliti To
Hugh West

V tem članku vam bom pokazal, kako lahko uporabite Če je izjava na spletnem mestu VBA v Excelu na podlagi vrednosti celice.

Excel VBA: Izjava If na podlagi vrednosti celice (hitri prikaz)

 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 

Prenesi delovni zvezek za prakso

Prenesite ta delovni zvezek za vadbo, ki ga lahko uporabljate med branjem tega članka.

Izjava If na podlagi vrednosti celice.xlsm

Izjava If na podlagi vrednosti celice v Excelu VBA

Tu imamo delovni list, ki vsebuje imena in oznake nekaterih učencev šole pri izpitu.

Naš cilj je naučiti se uporabljati Če je izjava v programu Excel VBA na podlagi vrednosti celice iz tega niza podatkov.

1. Izjava If na podlagi vrednosti ene celice v Excelu VBA

Najprej se bomo naučili uporabljati stavek If, ki temelji na vrednosti ene celice.

Poskusimo na primer preveriti, ali je Natalia Austin opravila izpit ali ne, torej ali je ocena v celici C3 je večja od 40 ali ne.

Stolpec D vsebuje rezultat študentov. To pomeni, da če celica C3 vsebuje oznako, večjo od 40, celica D3 bo vseboval "Sprejeto" . Sicer pa bo vseboval "Neuspešno" .

Uporabili bomo VBA Razpon objekt za ustvarjanje tega Če je izjava na podlagi vrednosti celice.

Spletna stran VBA koda za to bo:

⧭ Koda VBA:

 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 

⧭ Izhod:

Zaženite kodo iz Run Sub / UserForm orodje v VBA orodna vrstica.

Zaradi tega bodo celice D3 vsebujejo "Neuspešno" kot oznaka v celici C3 je manjša od 40 ( 32 ).

2. Izjava If na podlagi vrednosti območja celic v Excelu VBA

Uporabite lahko tudi Če je izjava na podlagi vrednosti območja celic v VBA . Uporabite lahko zanka for v ta namen.

Na primer, tukaj lahko z eno samo kodo ugotovimo rezultat vseh učencev. Iteriramo skozi zanka for ki bo preveril vse celice v območju C3:C12 in vrne ustrezen rezultat, "Sprejeto" ali "Neuspešno" .

Spletna stran VBA koda za to bo:

⧭ Koda VBA:

 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 = "Passed" Else Range("D3:D12").Cells(i, 1).Value = "Failed" End If Next i End Sub 

⧭ Izhod:

Zaženite kodo iz Run Sub / UserForm orodje v VBA orodna vrstica. Vrnil se bo "Sprejeto" za oznake, ki so večje od 40 in "neuspešno" za tiste, ki so manjši od n 40 .

Stvari, ki si jih je treba zapomniti

Tukaj sem prikazal Če je izjava z enim samim pogojem. Če želite, lahko uporabite več pogojev v Če je izjava .

Če uporabljate ALI vnesite več pogojev, jih združite z ALI .

In če uporabljate IN vnesite več pogojev, jih združite z IN .

Če želite na primer preveriti, ali je oznaka v celici B3 je večja od 40 in manj kot 50 ali ne, uporabite:

 Če (Razpon("C3").Vrednost> 40 Ali Razpon("C3").Vrednost <50) Potem 

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.