Модуль 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. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA найти и заменить
  2. Excel сумма по цвету
  3. Проверка файла VBA существует
  4. Excel Удалить сводную таблицу
  5. Код VBA | Примеры

Категория: