Найти в Дзене
VBA Excel с нуля

VBA Excel № 51. Пользовательские типы данных в VBA.

В VBA можно создавать специальные, или пользовательские, типы данных. Определение пользовательских типов данных может значительно облегчить управление определенными видами данных. Например, если ваше приложение работает с информацией о клиентах, вы можете создать пользовательский тип данных с именем ИнформацияОКлиенте. Type ИнформацияОКлиенте Компания As String Контакт As String КодРегиона As Long Продажи As Double End Type Обратите внимание, что пользовательские типы данных обычно определяются в верхней части модуля перед началом процедур. Если пользовательский тип данных уже создан, для объявления переменной этого типа используется инструкция Dim. Обычно пользовательский тип данных определяется для массивов. Dim Клиенты(1 To 100) As ИнформацияОКлиенте Все 100 элементов этого массива содержат четыре компонента (как указано в пользовательском типе данных - ИнформацияОКлиенте). Чтобы получить доступ к конкретному компоненту элемента, используются следующие инструкции. Клиенты(1).Компани

В VBA можно создавать специальные, или пользовательские, типы данных. Определение пользовательских типов данных может значительно облегчить управление определенными видами данных. Например, если ваше приложение работает с информацией о клиентах, вы можете создать пользовательский тип данных с именем ИнформацияОКлиенте.

Type ИнформацияОКлиенте

Компания As String

Контакт As String

КодРегиона As Long

Продажи As Double

End Type

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Обратите внимание, что пользовательские типы данных обычно определяются в верхней части модуля перед началом процедур.

Если пользовательский тип данных уже создан, для объявления переменной этого типа используется инструкция Dim. Обычно пользовательский тип данных определяется для массивов.

Dim Клиенты(1 To 100) As ИнформацияОКлиенте

Все 100 элементов этого массива содержат четыре компонента (как указано в пользовательском типе данных - ИнформацияОКлиенте). Чтобы получить доступ к конкретному компоненту элемента, используются следующие инструкции.

Клиенты(1).Компания = "Рога и копыта"

Клиенты(1).Контакт = " зиц-председатель Фунт "

Клиенты(1).КодРегиона = 3

Клиенты(1).Продажи = 148302

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Также можно управлять элементом массива в целом. Например, чтобы скопировать информацию из элемента Клиенты(1) в элемент Клиенты(2), используется следующая инструкция:

Клиенты(2) = Клиенты(1)

Этот пример эквивалентен следующему блоку инструкций:

Клиенты(2).Компания = Клиенты(1).Компания

Клиенты(2).Контакт = Клиенты(1).Контакт

Клиенты(2).КодРегиона = Клиенты(1).КодРегиона

Клиенты(2).Продажи = Клиенты(1).Продажи

MsgBox Клиенты(2).Компания

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Таким образом, пользовательские типы данных и массивы в VBA позволяют более эффективно управлять данными в вашем приложении.

В следующей статье рассмотрим конструкцию With/End With в VBA.