Excel VBA: Егер ұяшықта мән болса, онда көрсетілген нәтижені қайтарыңыз

  • Мұны Бөлісіңіз
Hugh West

Бұл мақалада мен сізге Excel VBA егер ұяшықта мән болса, жағдайды қалай талдауға болатынын көрсетемін. Сіз кез келген мән үшін де, белгілі бір мән үшін де жағдайды талдауды үйренесіз.

Excel VBA талдауы: ұяшықта мән бар болса, онда (Жылдам қарау)

4147

Тәжірибе жұмыс кітабын жүктеп алыңыз.

Осы мақаланы оқып жатқанда жаттығу жасау үшін осы жаттығу жұмыс кітабын жүктеп алыңыз.

VBA Егер ұяшықта мән болса, онда.xlsm

Excel VBA талдауы: ұяшықта мән болса, онда нәтижелерді қайтарады (қадамдық талдау)

Мұнда біз физика, химия, және Күнбағыс балабақшасы деп аталатын мектепте математика.

Бос ұяшықтар оқушының келмегенін, яғни сол емтиханға келмегенін білдіреді. Енді осы деректер жиынымен ұяшықта мән бар ма, жоқ па деген жағдайды талдап көрейік.

⧪ 1-қадам: Ұяшықты жариялау

Біріншіден, біз мәнін талдағымыз келетін ұяшықты жариялаңыз. Дженнифер Марлоның физика емтиханына қатысқан-көрмегенін талдап көрейік.

Сондықтан, C12 ұяшығында мән бар-жоғын тексеру керек.

Ол үшін, алдымен C12 ұяшығын жариялауымыз керек.

Оны орындау үшін код жолы келесідей болады:

9232

⧪ 2-қадам: Ұяшықта бар-жоғын тексеру a Мән (белгілі бір мәнді қоса)

Кейін, біз тексеруіміз керек.ұяшықта мән бар немесе жоқ. Біз мұны Егер шарты арқылы орындаймыз. Код жолы келесідей болады:

5057

Егер ұяшықта қандай да бір мән болса, бұл код орындалады. Мәннің бар-жоғын тексеру үшін (мысалы, оның құрамында 100 немесе жоқ), сол арнайы мәнді Тең белгісімен пайдаланыңыз.

1733

⧪ 3-қадам: Тапсырманы бөлу

Одан кейін ұяшықта мән (немесе белгілі бір мән) болса, орындалатын тапсырманы орнату керек.

Мұнда хабарды көрсеткіміз келеді. “Дженнифер Марло физикадан емтиханға келді.” . Сонымен код жолы келесідей болады:

5389

⧪ 4-қадам: If блогын аяқтау

Соңында If блогының аяқталуын жариялау керек.

1383

Сонымен, VBA коды толық болады:

⧭ VBA коды:

5770

⧭ Шығару:

Құралдар тақтасындағы Run Sub/UserForm түймесін басу арқылы осы кодты іске қосыңыз.

Ол “Дженнифер Марло физика емтиханында пайда болды” хабарын көрсетеді. себебі C12 ұяшығында 50 мәні бар.

Егер ұяшықта мән бар болса, Excel VBA бағдарламасы арқылы көрсетілген нәтижеге қатысты мысалдар

Ұяшықта мән немесе мән бар-жоғын талдауды үйрендік. VBA ішінде емес. Енді түсінікті болу үшін бірнеше мысал келтірейік.

1. Мәнді сүзгілеу үшін макрос әзірлеу Егер сәйкес ұяшықта қандай да бір мән болса, Excel VBA бағдарламасында

Мәнді сүзгілеу үшін макрос әзірлеу. Макро әрбір емтиханға қатысқан студенттерді сүзу үшін.

Яғни, біз әрбір пәннің бағасы бар ұяшықтарды тексеріп, олардың мәні бар-жоғын білуіміз керек. немесе жоқ.

Егер олар солай болса, біз сәйкес студенттің атын сұрыптауымыз керек.

Оны орындау үшін толық VBA коды болады:

⧭ VBA коды:

5449

⧭ Шығару:

Деректер жинағын таңдаңыз ( Тақырыптарды қоса) және осы Макро іске қосыңыз.

Біріншіден, сізден біріншісінің сілтемесін енгізу сұралады. сүзгіден өткен деректер қажет ұяшық. Мен G3 енгіздім.

Одан кейін OK түймесін басыңыз. Әрбір емтиханға ( Тақырыптар қоса) қатысқан студенттердің атын G3 ұяшығынан басталатын жаңа деректер жинағында аласыз.

2. Мәнді сұрыптау үшін пайдаланушы анықтайтын функцияны жасау Егер сәйкес ұяшықта арнайы мән болса, Excel VBA

Енді біз оқушылардың атын қайтаратын пайдаланушы анықтайтын функцияны жасаймыз. пәндердің әрқайсысынан нақты баға алған.

Тәртіп жоғарыда көрсетілгендей дерлік. Біз әрбір пәннің белгілері бар ұяшықтарды тексеріп, олардың белгілі бір мәнге тең немесе тең еместігін білуіміз керек.

Егер олар болса, сәйкес студенттің атын қайтарамыз.

VBA коды:

⧭ VBA боладыКод:

9223

⧭ Шығару:

Код Мәндері_бар_ұяшықтар деп аталатын функцияны жасайды, бұл Диапазон және Мән деген екі аргументті қабылдайды.

Осы функцияны пайдаланып әр пәннен 100 алған оқушыларды анықтайық.

Жұмыс парағындағы ұяшықтар ауқымын таңдап, осы функцияны ауқымның бірінші ұяшығына енгізіңіз:

=Cells_with_Values(B3:E13,100)

[Мұнда B3: E3 – менің деректер жиыным (соның ішінде Тақырыптар ) және 100 - менің сәйкес мәнім. Сіз өзіңізді пайдаланасыз.]

Одан кейін CTRL + SHIFT + ENTER ( Массив формуласы ) пернелерін басыңыз. Ол әр пәннен 100 алған студенттердің аттары, соның ішінде Тақырыптар ,

3 тұратын массивді қайтарады. Сәйкес ұяшықта Excel VBA бағдарламасында қандай да бір мән (немесе арнайы мән) болса, мәнді шығару үшін Пайдаланушы пішінін жасау

Соңында, файлды шығару үшін UserForm әзірлейміз. кейбір арнайы емтихандарға қатысқан (немесе нақты баға алған) студенттердің аты-жөні.

⧪ 1-қадам: UserForm ашу

Insert > Жаңа UserForm ашу үшін VBA өңдегішіндегі UserForm опциясы. UserForm1 деп аталатын жаңа UserForm ашылады.

⧪ 2-қадам: Құралдарды UserForm<2 ішіне апару>

UserForm -ден басқа, сіз Құралдар жинағы аласыз. Курсорды Құралдар жәшігі үстіне жылжытыңыз және 4 Белгіні (Label1, Label2,Label3, Label4) және 3 ListBox (ListBox1, ListBox2, ListBox3) және TextBox (TextBox1) UserForm үстінде тікбұрышты пішінде.

Одан кейін басқа Жапсырма (Жапсырма5) және Мәтін ұясы (TextBox2) UserForm төменгі сол жақ бұрышына сүйреңіз.

Соңында, Пәрмен түймешігін (CommandButton1) төменгі оң жақ бұрышқа сүйреңіз.

Жапсырмалар дисплейлерін Іздеу бағаны етіп өзгертіңіз, Бағанды ​​қайтару , Кез келген мән немесе нақты мән , Мән, және Бастапқы ұяшық.

Сонымен қатар CommandButton1 дисплейін OK етіп өзгертіңіз.

⧪ 3-қадам: ListBox3 үшін код жазу

ListBox3 түймесін екі рет басыңыз. ListBox3_Click деп аталатын Жеке қосалқы процедура ашылады. Онда келесі кодты енгізіңіз.

8432

⧪ 4-қадам: CommandButton1 үшін код жазу

Одан кейін CommandButton1 түймесін екі рет басыңыз. . CommandButton1_Click деп аталатын басқа Жеке қосалқы процедура ашылады. Онда келесі кодты енгізіңіз.

6164

⧪ 5-қадам: UserForm іске қосу кодын жазу

Соңында, <ішінен жаңа Модуль енгізіңіз. 1>VBA құралдар тақтасы және сол жерге келесі кодты енгізіңіз.

6507

⧪ 6-қадам: UserForm (соңғы нәтиже) іске қосу

UserForm енді пайдалануға дайын. Жұмыс парағынан деректер жинағын таңдаңыз ( B3:E13 осында) ( Тақырыптарды қоса) және Run_UserForm деп аталатын Макро іске қосыңыз.

UserForm жұмыс парағына жүктеледі. Іздеу бағанасы кестесінен мен Физика және Математика таңдадым, себебі мен Физика пәнінен шыққан студенттердің атын алғым келеді. және Математика емтихандары.

Қайтару бағанасы кестесінен мен Студенттің аты-жөні таңдадым, себебі мен студент атын алғым келеді.

Және Кез келген мән немесе нақты мән кестесінен мен Кез келген мән параметрін таңдадым.

Соңында, Бастау ұяшығында ұяшығы, мен G3 қойдым.

Одан кейін OK түймесін басыңыз. Физика және Математика емтихандарына G3 ұяшығынан бастап қатысқан студенттердің атын аласыз.

Егер Кез келген мән немесе Арнайы мән кестесінен Арнайы мән параметрін таңдаған болсаңыз, нақты мәнді енгізу үшін сізде басқа TextBox болар еді.

Осында мен 100 енгіздім.

OK түймесін басыңыз. Ал сіз Физика және Химия пәндерінен 100 алған оқушыларды аласыз.

Есте сақтау керек нәрселер

Мысалда сипатталған Пайдаланушы анықтайтын функция 2 -де оқушы атын қайтару үшін біз екі өлшемді массив қолдандық.

Хью Уэст – салада 10 жылдан астам тәжірибесі бар жоғары тәжірибелі Excel тренері және талдаушысы. «Бухгалтерлік есеп және қаржы» мамандығы бойынша бакалавр дәрежесі және іскерлік әкімшілендіру магистрі дәрежесі бар. Хью оқытуға құмар және ұстануға және түсінуге оңай бірегей оқыту әдісін әзірледі. Оның Excel бағдарламасындағы сараптамалық білімі бүкіл әлем бойынша мыңдаған студенттер мен мамандарға біліктіліктерін арттыруға және мансаптық жетістіктерге жетуге көмектесті. Блогы арқылы Хью өз білімін әлеммен бөліседі, жеке адамдар мен бизнеске толық әлеуетін ашуға көмектесу үшін тегін Excel оқулықтары мен онлайн тренингтерін ұсынады.