Шта је класа у ВБА?
Класа је нацрт за креирање објекта. Сама класа не ради ништа осим помоћу класа можете створити више идентичних објеката који могу изводити операције или се могу користити као извор података.
У стварном животу, модел (дизајн и функционалности) аутомобила је класа, а сам аутомобил је предмет те класе. На часу дефинишемо шта аутомобил има у себи и шта може да уради. На пример, аутомобил има 4 точка, 5 брзина, управљач итд. То су атрибути/својства. Такође дефинишемо шта аутомобил може да уради, попут кретања напред, назад, окретања итд. То су функције класе аутомобила. Објекат аутомобила креиран коришћењем класе аутомобила имаће сва ова својства. Ако дефинишете аутомобил који има 5 точкова, онда ће аутомобил направљен помоћу ове класе имати 5 точкова. Схватате поенту.
Доста је било теорије, а сада да видимо како можете користити модул класе у ВБА.
Коришћење модула класе Екцел ВБА
Док сте радили у ВБА, морали сте да користите опсег („А1“). Селецт. Ранге је унапред дефинисана класа у ВБА. Одабир је једна од функција класе Ранге која бира наведени распон. Слично, Дебуг је класа у ВБА, а принт и ассерт су његове методе. Радни листови, радне свеске, распон итд. Све су то ВБА класе које користимо у својим претплатницима.
Креирајте свој час
Прво, морамо додати модул класе у ВБА
Притисните комбинацију тастера АЛТ+Ф11 да бисте отворили Екцел ВБА едитор.
-
- Десним тастером миша кликните на Екплорер Екплорер. Померите курсор на Уметни-> Модул класе. Кликни на то. Иста ствар се може урадити из менија Инсерт.
-
- Класа ће бити додата у фасциклу "Модул класе". Подразумевано име је цласс1, цласс2 итд. Име класе можете променити у прозору својстава. Назовимо нашу класу „Добро дошли“.
- Хајде сада креирајмо додавање неких атрибута у нашу класу. Пошто желим да ови атрибути буду доступни јавности, имам користи оператер приступачности јавности.
Јавно име Као низ Јавни вар1 Као цео број Јавни вар2 Као цео број
- Сада додајмо функцију овој класи. Желим функцију која каже Здраво! кориснику. Да бисте то урадили, додајте подмени и дајте му име саиХиТо.
Суб саиХиТо (усер Ас Стринг) наме = усер МсгБок ("Хи!" & Наме) Крај Суб
- Хајде сада да користимо класу у модулу. Уметните нови модул ако га немате. Напишите подлогу. Назвао сам свој под Тест.
Под тест () Дим вц као нова добродошлица 'Декларисан и иницијализован објекат добродошлице вц.саиХиТо ("Јацк")' користио саиХиТо методу објекта добродошлице. Енд Суб
- Покрените овај подтест помоћу тастера Ф5. У Екцеловој радној свесци ће се појавити порука „Здраво! Јацк“.
Како то функционише?
У подтесту, створили смо објекат "вц" од Добродошли класа. Објекат се креира у ВБА на два начина. покрећемо код, Тест суб ствара објект вц класе Велцоме. Овај објекат има сва својства класе Велцоме. Користимо саиХиТо метод класе Велцоме да поздравимо корисника.
Креирање објеката у програму Екцел ВБА
-
- Тренутно стварање
У тренутном креирању стварамо објекат док га проглашавамо кључем "нев". У горњем примеру, користили смо тренутно креирање.
Дим вц Ас Нев Велцоме
2. Одложено стварање
У одложеном креирању прво декларишемо само објекат. Не користимо кључну реч „ново“. Да бисмо користили објекат, морамо га иницијализирати кључном речи "нев".
Под тест () Дим вц Ас Велцоме 'вц.саиХиТо ("Јацк")' генерише грешку јер вц још није иницијализован 'иницијализујући објекат Сет вц = Нев Велцоме вц.саиХиТо ("Цори")' ово ће успети. Енд Суб
Приступ променљивим класе
У горњим примерима користили смо јавне променљиве за класу, али је погрешно вежбати. Треба да избегавамо коришћење јавних променљивих у класи. Сада је питање како бисмо приступили варијаблама класе. Раније смо користили потпрограм за приступ имену, али ВБА класе пружају својства која се користе за систематско ажурирање и преузимање приватних променљивих вредности класе. Својства су елегантнија од суб или функције за ажурирање и приступ приватним променљивим. Да видимо како.
Синтакса својства класе
Приватно име Као Стринг Приватно вар1 Као цео број Приватно вар2 Као цео број Проперти Лет Моје име (нм као низ) име = нм Крајње својство Проперти Гет МиНаме () Ас Стринг МиНаме = наме Крајње својство
Хајде да их користимо у модулу.
Под тест () 'креирање објекта класе Дим вц као нова добродошлица Дим вц1 као нова добродошлица' користећи својства вц.МиНаме = "Екцелтип.цом" вц1.МиНаме = "ЕкцелФорум.цом" Дебуг.Принт вц.МиНаме Дебуг.Принт вц1. МиНаме Енд Суб
Када будете покретали ову тестну подлогу, добићете одштампана два имена за два објекта класе "Велцоме".
Како се својства разликују од под -функција и функција
У горњем примеру приметите да смо користили својство МиНаме као променљиву. Вредност променљиве "Наме" иницијализовали смо само писањем вц.МиНаме = "ассдф". Ова линија наредбе која се зове својство тзвСвојство Гет МиНаме () Ас Стринг. Нисмо пренели никакву вредност у загради као на почетку.
Слично, за штампање вредности променљиве "Наме" користили смо командуДебуг.Принт вц.МиНаме. Није ли то тако једноставно као нормална иницијализација променљиве? Једина разлика је у томе што можете учинити много усвојство сегмент. Ставили сте валидацију података, прорачун, комуникацију итд. И корисник ће видети само резултат.
Друга разлика је у томе што можемо користити исти назив својства за дозволити и добитипарт. Ово чини лакше и мање збуњујућим.
Па да, момци, ово је био једноставан пример модула класе у Екцел ВБА. Ово је само врх леденог брега, у овој теми има много сока који ћемо истражити у каснијим чланцима. Сваку од њих ћемо истражити један по један на најједноставнији могући начин. Надам се да сам вам објаснио довољно. Ако имате било каквих недоумица у вези ове теме или било које друге Екцел ВБА теме, наведите то у одељку за коментаре испод.
Увезите модул из датотеке помоћу ВБА у Мицрософт Екцелу | Научите како да увезете цео модул из друге датотеке помоћу ВБА.
Креирајте нови модул користећи ВБА у програму Мицрософт Екцел | Можете користити модул за креирање другог модела у ВБА. Ово вам може помоћи да минимизирате додатне режијске радове.
Додајте процедуру модулу помоћу ВБА у Мицрософт Екцел -у | За аутоматско додавање процедура у модуле користите овај ВБА код.
Популарни чланци:
50 Екцел пречица за повећање ваше продуктивности | Убрзајте свој задатак. Ових 50 пречица ће учинити да радите још брже на Екцелу.
Функција ВЛООКУП у Екцелу | Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.
ЦОУНТИФ у Екцелу 2016 | Бројте вредности са условима користећи ову невероватну функцију. Не морате филтрирати податке да бисте рачунали одређену вредност. Цоунтиф функција је неопходна за припрему ваше контролне табле.
Како се користи функција СУМИФ у Екцелу | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.