В VBA есть свои классы, но можно создавать и самим. Для этого в проект необходимо добавить модуль класса. Это можно сделать шелкнув правой кнопкой мыши на проекте и выбрав пункт меню вставить -> модуль класса.
В результате у Вас появится окно для кода класса, и в окне просмотра проекта появится значок класса. Вероятнее всего с именем Класс1. Объявим переменные для внутреннего использования. Private говорит о том, что использоваться они будут только внутри класса.
Private NamePiple As String
Private DatePiple As String
Теперь создадим функцию GetPipleName. Пишите ниже:
Public Sub GetPipleName()
NamePiple = InputBox("Enter Name - ")
End Sub
Теперь свойства для получения имени. Пишите ниже:
Property Get PipleName() As String
PipleName = NamePiple
End Property
И для установки тоже. Пишите ниже:
Property Let PipleName(s As String)
NamePiple = s
End Property
Закрывайте редактор и открывайте любой макрос для редактирования, если его нет создайте. Начинайте вводить код, как на рисунке ниже. И о чудо!!! Наш класс имеет те же возможности, что и встроенный класс VBA, он показывает свойства.
Настало время испытать его в действии:
Sub Test()
Dim vars As New Класс1
vars.GetPipleName
MsgBox vars.PipleName
vars.PipleName = "VBA"
MsgBox vars.PipleName
End Sub
По удобству и простоте это круче C++ и MFC и так далее. Кроме того класс легко сохранить для дальнейшего использования. Вообщем класс. Просто оцените эту возможность даже если вы читате просто так.