"Excel VBA": If teiginys pagal ląstelės vertę (2 praktiniai pavyzdžiai)

  • Pasidalinti
Hugh West

Šiame straipsnyje parodysiu, kaip galite naudoti Jei teiginys svetainėje VBA "Excel" programoje pagal ląstelės vertę.

"Excel VBA": If teiginys pagal ląstelės vertę (greitas vaizdas)

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

Atsisiųsti praktikos sąsiuvinį

Atsisiųskite šį pratybų sąsiuvinį, kad galėtumėte atlikti pratimus skaitydami šį straipsnį.

Jei teiginys pagal ląstelės vertę.xlsm

Jei teiginys pagal ląstelės vertę "Excel VBA

Čia turime darbalapį, kuriame yra pavadinimai ir ženklai kai kurių mokyklos mokinių egzaminą.

Mūsų tikslas - išmokti naudoti Jei teiginys "Excel" programoje VBA pagal šio duomenų rinkinio langelio vertę.

1. "Excel" VBA programoje "If" teiginys pagal vienos ląstelės vertę

Pirmiausia išmoksime naudoti teiginį If pagal vienos ląstelės reikšmę.

Pavyzdžiui, pabandykime patikrinti, ar Natalija Austin išlaikė egzaminą, ar ne, t. y. ar ląstelėje esantis pažymys C3 yra didesnis už 40 arba ne.

Stulpelis D yra studentų rezultatas. Tai yra, jei ląstelėje C3 yra žymuo, didesnis nei 40, ląstelė D3 bus "Priimta" . Priešingu atveju jame bus "Nepavyko" .

Naudosime VBA Diapazonas objektą, kad sukurtumėte šį Jei teiginys pagal langelio vertę.

Svetainė VBA kodas bus toks:

⧭ VBA kodas:

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

⧭ Išėjimas:

Paleiskite kodą iš Paleisti sub / UserForm įrankis VBA įrankių juostą.

Dėl to ląstelės D3 yra "Nepavyko" , kaip ląstelės ženklas C3 yra mažesnis nei 40 ( 32 ).

2. "If" teiginys pagal ląstelių intervalo vertes "Excel VBA" programoje

Taip pat galite naudoti Jei teiginys pagal langelių diapazono reikšmes, esančias VBA . Galite naudoti for-loop šiam tikslui.

Pavyzdžiui, čia galime sužinoti visų mokinių rezultatą naudodami vieną kodą. for-loop bus patikrintos visos diapazono ląstelės C3:C12 ir grąžinti atitinkamą rezultatą, "Priimta" arba "Nepavyko" .

Svetainė VBA kodas bus toks:

⧭ VBA kodas:

 Sub If_Statement_Based_On_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 

⧭ Išėjimas:

Paleiskite kodą iš Paleisti sub / UserForm įrankis VBA įrankių juostą. Ji grąžins "Priimta" ženklams, kurie yra didesni nei 40 , o "Nepavyko" - tiems, kurie yra mažiau nei n 40 .

Dalykai, kuriuos reikia prisiminti

Čia parodžiau Jei teiginys su viena sąlyga. Tačiau, jei norite, galite naudoti kelias sąlygas Jei teiginys .

Jei naudojate ARBA įvesti kelias sąlygas, sujungti jas jungtuku ARBA .

Jei naudojate IR įvesti kelias sąlygas, sujungti jas jungtuku IR .

Pavyzdžiui, norėdami patikrinti, ar ląstelėje B3 yra didesnis už 40 ir mažiau nei 50 ar ne, naudokite:

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

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.