Змест
У гэтым артыкуле я пакажу вам, як можна прааналізаваць сітуацыю ў Excel VBA , калі ячэйка змяшчае значэнне. Вы навучыцеся аналізаваць сітуацыю як для любога значэння, так і для канкрэтнага значэння.
Аналіз Excel VBA: калі ячэйка змяшчае значэнне, то (хуткі прагляд)
6315
Спампаваць практычны сшытак
Спампуйце гэты сшытак для практыкаванняў, пакуль вы чытаеце гэты артыкул.
VBA If Cell Contains Value Then.xlsm
Аналіз Excel VBA: калі ячэйка змяшчае значэнне, то вяртае вынікі (пакрокавы аналіз)
Тут у нас ёсць набор даных з адзнакамі некаторых студэнтаў па фізіцы, хіміі, і матэматыкі ў школе пад назвай "Сланечнікавы дзіцячы сад".
Пустыя вочкі азначаюць, што вучань не з'явіўся, гэта значыць, адсутнічаў на гэтым іспыце. Зараз давайце прааналізуем сітуацыю, утрымлівае ячэйка значэнне ці не, з гэтым наборам даных.
⧪ Крок 1: Аб'яўленне ячэйкі
Спачатку мы павінны аб'явіць вочка, значэнне якой мы хочам прааналізаваць. Давайце прааналізуем, з'явілася Джэніфер Марла на экзамене па фізіцы ці не.
Такім чынам, нам трэба праверыць, ці ўтрымлівае ячэйка C12 значэнне.
Для гэтага, спачатку мы павінны аб'явіць ячэйку C12 .
Радок кода для гэтага будзе наступным:
9981
⧪ Крок 2: Праверка, ці ўтрымлівае ячэйка значэнне (уключаючы канкрэтнае значэнне)
Далей мы павінны праверыць, ціячэйка змяшчае значэнне ці не. Мы выканаем гэта з дапамогай умовы If . Радок кода будзе выглядаць так:
6999
Гэты код будзе выкананы, калі ячэйка змяшчае якое-небудзь значэнне. Каб праверыць значэнне (напрыклад, утрымлівае яно 100 ці не), выкарыстоўвайце гэтае значэнне з сімвалам Роўна .
9106
⧪ Крок 3: размеркаванне задачы
Тады вы павінны наладзіць задачу, якая будзе выканана, калі ячэйка змяшчае значэнне (ці пэўнае значэнне).
Тут мы хочам паказаць паведамленне «Джэніфер Марла з'явілася на экзамене па фізіцы». . Такім чынам, радок кода будзе наступным:
3339
⧪ Крок 4: Завяршэнне блока If
Нарэшце, вы павінны аб'явіць канец блока If.
7269
Такім чынам, поўны код VBA будзе:
⧭ Код VBA:
7072
⧭ Вывад:
Запусціце гэты код, націснуўшы кнопку Выканаць суб/форму карыстальніка на панэлі інструментаў.
Адлюструецца паведамленне «Джэніфер Марла здавалася на экзамене па фізіцы». , паколькі ячэйка C12 змяшчае значэнне 50 .
Прыклады, калі ячэйка ўтрымлівае значэнне, а затым вызначаны вывад з Excel VBA
Мы навучыліся аналізаваць, ці ўтрымлівае ячэйка значэнне або не ў VBA . Зараз давайце разгледзім некаторыя прыклады, каб зрабіць разуменне ясным.
1. Распрацоўка макраса для фільтрацыі значэння Калі адпаведная ячэйка змяшчае якое-небудзь значэнне, то ў Excel VBA
Давайце распрацуем Макра , каб адфільтраваць студэнтаў, якія здалі кожны экзамен.
Гэта значыць, мы павінны праверыць клеткі, якія змяшчаюць адзнакі па кожным з прадметаў, і паглядзець, ці ўтрымліваюць яны значэнне ці не.
Калі яны гэта робяць, то мы павінны адсартаваць імя адпаведнага студэнта.
Поўны код VBA для гэтага будзе:
⧭ Код VBA:
5792
⧭ Вывад:
Выберыце набор даных ( У тым ліку Загалоўкі ) і запусціце гэты Макрас .
Спачатку вам будзе прапанавана ўвесці спасылку на першы вочка, у якую вы хочаце атрымаць адфільтраваныя даныя. Я ўвёў G3 .
Затым націсніце ОК . Вы атрымаеце імёны студэнтаў, якія здалі кожны экзамен (уключаючы Загалоўкі ) у новым наборы даных, пачынаючы з ячэйкі G3 .
2. Стварэнне вызначанай карыстальнікам функцыі для сартавання значэння, калі адпаведная ячэйка змяшчае пэўнае значэнне, то ў Excel VBA
Цяпер мы створым вызначаную карыстальнікам функцыю, якая будзе вяртаць імёны студэнтаў якія атрымалі пэўную адзнаку па кожным з прадметаў.
Працэдура амаль такая ж, як і вышэй. Мы павінны праверыць ячэйкі, якія змяшчаюць адзнакі па кожным з прадметаў, і паглядзець, роўныя яны пэўнаму значэнню ці не.
Калі так, то мы вернем імя адпаведнага студэнта.
Код VBA будзе:
⧭ VBAКод:
7829
⧭ Вывад:
Код стварае функцыю пад назвай Cells_with_Values , якая прымае два аргументы: Дыяпазон і Значэнне .
Давайце даведаемся студэнтаў, якія атрымалі 100 балаў па кожным з прадметаў з дапамогай гэтай функцыі.
Выберыце дыяпазон ячэек у працоўным аркушы і ўвядзіце гэту функцыю ў першую ячэйку дыяпазону:
=Cells_with_Values(B3:E13,100)
[Тут B3: E3 - гэта мой набор даных (уключаючы Загалоўкі ), а 100 - маё адпаведнае значэнне. Вы карыстаецеся сваім.]
Затым націсніце CTRL + SHIFT + ENTER ( Формула масіву ). Ён верне масіў, які складаецца з імёнаў студэнтаў, якія атрымалі 100 балаў па кожным прадмеце, уключаючы Загалоўкі .
3. Распрацоўка UserForm для вылучэння значэння, калі адпаведная ячэйка ўтрымлівае якое-небудзь значэнне (або канкрэтнае значэнне) у Excel VBA
Нарэшце, мы распрацуем UserForm для вылучэння імёны студэнтаў, якія здалі (або атрымалі пэўныя адзнакі) на пэўных іспытах.
⧪ Крок 1: Адкрыццё UserForm
Перайдзіце да Insert > Параметр UserForm у рэдактары VBA для адкрыцця новай UserForm . Будзе адкрыта новая UserForm пад назвай UserForm1 .
⧪ Крок 2: Перацягванне інструментаў у UserForm
Акрамя UserForm , вы атрымаеце Toolbox . Навядзіце курсор на Toolbox і перацягніце 4 цэтлікі (Label1, Label2,Label3, Label4) і 3 ListBoxes (ListBox1, ListBox2, ListBox3) і TextBox (TextBox1) у прамавугольнай форме над UserForm .
Затым перацягніце іншую Метку (Label5) і Тэкставае поле (TextBox2) у ніжні левы кут Карыстальніцкай формы .
Нарэшце, перацягніце CommandButton (CommandButton1) у ніжні правы кут.
Зменіце адлюстраванне Цэткі на Слупок пошуку , Калонка вяртання , Любое значэнне або канкрэтнае значэнне , Значэнне, і пачатковая ячэйка.
Таксама змяніце адлюстраванне CommandButton1 на OK .
⧪ Крок 3: Напісанне кода для ListBox3
Двойчы пстрыкніце па ListBox3 . Адкрыецца Прыватная падпрацэдура пад назвай ListBox3_Click . Увядзіце там наступны код.
1706
⧪ Крок 4: Напісанне кода для CommandButton1
Затым двойчы пстрыкніце па CommandButton1 . Адкрыецца іншая прыватная падпрацэдура пад назвай CommandButton1_Click . Увядзіце там наступны код.
6335
⧪ Крок 5: Напісанне кода для запуску UserForm
Нарэшце, устаўце новы Модуль з Панэль інструментаў VBA і ўстаўце туды наступны код.
2665
⧪ Крок 6: Запуск UserForm (канчатковы вынік)
Ваша UserForm цяпер гатовая да выкарыстання. Выберыце набор даных з аркуша ( B3:E13 тут) (у тым ліку Загалоўкі ) ізапусціце Macro пад назвай Run_UserForm .
UserForm будзе загружана ў працоўны ліст. У табліцы Слупок пошуку я выбраў Фізіка і Матэматыку , таму што хачу атрымаць імёны студэнтаў, якія з'явіліся ў Фізіцы і экзамены Матэматыка .
У табліцы Калонка вяртання я выбраў Імя студэнта , таму што хачу атрымаць імёны студэнтаў.
І з табліцы Любое значэнне або канкрэтнае значэнне я выбраў Любое значэнне .
Нарэшце, у пачатковай ячэйцы , я паставіў G3 .
Затым націсніце ОК . Вы атрымаеце імёны студэнтаў, якія здалі экзамены па фізіцы і матэматыцы , пачынаючы з клеткі G3 .
Калі б вы выбралі Пэўнае значэнне з табліцы Любое значэнне або канкрэтнае значэнне , вы б атрымалі яшчэ адно Тэкставае поле для ўводу пэўнага значэння.
Тут я ўвёў 100 .
Націсніце ОК . І вы атрымаеце студэнтаў, якія атрымалі 100 па фізіцы і хіміі .
Што трэба памятаць
Мы выкарыстоўвалі двухмерны масіў для вяртання імёнаў студэнтаў у Функцыях, вызначаных карыстальнікам апісаным у прыкладзе 2 .