Kazalo
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.xlsmIzjava 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