Модуль Excel VBA Class
Модуль класса в VBA можно определить как модуль, который помогает создавать ваши собственные объекты с вашими собственными свойствами и методами, такими как рабочие таблицы и диапазон задач Excel.
Проще говоря, с помощью модуля класса VBA мы можем создавать объекты с собственными свойствами. Прежде чем приступить к созданию модуля класса и его объектов в VBA, желательно понять концепцию класса и объекта. Рассмотрим пример из реальной жизни, чтобы понять, что такое класс, что такое объект и его отношение.
Например, если мы возьмем план здания или план здания, с помощью плана здания мы можем построить не только одно здание, но мы можем использовать один и тот же план и построить несколько зданий в разных местах. Они могут различаться по размеру комнат или высоте крыши и т. Д., Но фактические свойства здания остаются такими же, как и подвал, двери, колонны, потолок и т. Д.
Точно так же, если вы берете план или модель автомобиля, мы можем создать для него несколько дубликатов. Автомобиль будет иметь такие свойства, как количество колес, цвет, мощность и т. Д. Некоторые свойства могут различаться в зависимости от автомобиля, но основная конфигурация останется неизменной.
Чтобы было понятнее, мы можем определить как:
- Класс: это проект вещи, которая помогает создать объект.
- Объект: фактическое существование вещи.
Как вставить модуль класса в Excel VBA?
Ниже приведены различные примеры вставки модуля класса в Excel с использованием кода VBA.
Вы можете скачать этот шаблон Excel модуля VBA здесь - Шаблон Excel модуля VBA классаМодуль класса Excel VBA - Пример № 1
Ниже приведены различные шаги для вставки модуля класса с использованием кода VBA в Excel.
Шаг 1: Перейдите в меню « Разработчик » вверху и нажмите на Visual Basic с левой стороны.
Шаг 2: Чтобы создать модуль класса, нам нужно вставить модуль класса в VBA. Нажмите на раскрывающийся список Вставить в верхней части. Из этого выберите модуль класса .
Теперь модуль класса вставлен с левой стороны в VBA, как показано на скриншоте ниже.
Как обсуждалось ранее, модуль класса - это проект, с помощью которого мы будем создавать объекты. Итак, нам нужно определить несколько переменных и методов, которые будут доступны для всех объектов.
Шаг 3: Измените имя модуля класса согласно вашему требованию, здесь я изменился как Blueprint
Шаг 4: Теперь нам нужно определить переменные и методы.
Код:
Опция Явный Public add As Integer Public pro As Integer Public x As Integer Public y As Integer
Как показано на скриншоте выше, сначала начните с явной опции. Почему вариант явный? Он выдаст ошибку, если мы используем любую переменную в программе, которая не определена, поэтому мы должны определить все переменные явно. Здесь мы определяем четыре переменные add, pro, x и y. Все переменные определены как публичные, потому что тогда только эти переменные могут быть доступны для других модулей.
Шаг 5: До сих пор мы определили переменные, теперь нужно определить методы или функции.
Код:
Опция Явный Public add As Integer Public pro As Integer Public x As Integer Public y As Integer Sub sum () add = x + y MsgBox (add) End Sub
Я определил один простой метод sum (), вы можете определить сложные подпрограммы согласно требованию. В под-методе sum () мы определили, как выполнить операцию сложения и где сохранить это значение, а затем, наконец, отобразить результат в окне сообщения.
Шаг 6: Модуль класса был создан, теперь пришло время создать обычный модуль для использования схемы класса. Следовательно, вставьте модуль так же, как мы вставили модуль класса.
Шаг 7: По умолчанию имя модуля будет module1, и мы можем изменить его, если захотим. Напишите код в модуле 1.
Код:
Sub math () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.sum End Sub
Здесь мы пишем подпрограмму math (). Таким образом, мы создали объект с именем obj, таким же, как план проекта. Именно поэтому мы определили таким образом «объект как новый проект», что означает дублирование проекта и имя «объект».
В этой программе мы не определяли x и y, а непосредственно присваивали значения x и y, потому что они уже определены в модуле класса, и целью является его дублирование. Следовательно, у него будут эти переменные, но для их вызова мы должны использовать имя object.variable.
Obj.x = 5 означает, значение 5 будет храниться в переменной x.
Obj.y = 6, среднее значение 6 будет сохранено в переменной y.
Теперь вызовите методы, которые определены в модуле класса, используя имя объекта obj.
Obj.sum () выполнит операцию сложения, как определено в модуле класса. В модуле класса мы определили как x + y и объект, мы определили значения для x и y, следовательно, он примет значения и выполнит вычисление и сохранит результат в add, который является целочисленным типом. На последнем шаге он отобразит результат в окне сообщения.
Шаг 8: Запустите module1, нажав клавишу F5 или нажав кнопку воспроизведения .
Шаг 9: Выберите имя макроса и нажмите опцию « Выполнить» .
Результаты будут отображаться, как показано ниже.
Модуль Excel VBA Class - Пример № 2
Выполните следующие шаги:
Шаг 1: Теперь добавьте еще один метод с именем «mul» для выполнения операции умножения. Результат должен быть сохранен в ячейках (5, 5) листа1.
Код:
Sub mul () pro = x * y Sheet1.Cells (5, 5) = pro End Sub
В вышеупомянутом методе mul () мы умножили x и y, и результат сохраняется в «pro», который является целочисленным типом данных.
Шаг 2: Теперь перейдите к module1 и вызовите этот метод mul, используя объект obj, как показано ниже.
Код:
Sub math1 () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.mul End Sub
Шаг 3: Нажмите клавишу F5, чтобы запустить модуль. Перейдите на лист1 и убедитесь, что результат будет отображаться, как показано ниже.
В предыдущем примере мы отображали результаты в окне сообщения, но во втором методе мы отображали в Excel. Таким образом, если мы объявляем переменные и методы в модуле класса, мы можем использовать его в других модулях с помощью объекта без повторения кода. Надеюсь, вы поняли, как вставить модуль класса в Excel VBA и как создать для него объект.
То, что нужно запомнить
- Всегда желательно использовать опцию явным образом при подготовке модуля класса, потому что при использовании переменных в VBA может быть ошибка опечатки.
- Если мы не укажем номер листа для отображения результатов, он автоматически выберет активный лист.
- Используйте Public Keyword при инициализации переменных, чтобы переменные могли обращаться к другим модулям.
- Вы можете вызывать переменные или методы только после создания объекта. следовательно, создайте объект для класса, затем вызовите переменные и методы.
Рекомендуемые статьи
Это руководство к модулю класса VBA. Здесь мы обсудим, как вставить модуль класса в Excel, используя код VBA, а также некоторые практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- VBA найти и заменить
- Excel сумма по цвету
- Проверка файла VBA существует
- Excel Удалить сводную таблицу
- Код VBA | Примеры