End Type
End Sub
End Sub
Здесь элементам массива присваиваются значения различных типов: первому элементу — строка, второму — дата, третьему — целое число. Поскольку Data объявлен как массив типа Variant, его элементам можно присваивать любые значения. В строке 6 значения всех элементов массива передаются в функцию MsgBox для отображения в диалоговом окне.
Расширим предыдущий пример и создадим двухмерный массив, содержащий имя, дату рождения и возраст 10 человек.
Sub 2D_МассивVariant()
Dim Data2(10, 3) As Variant
Data2(1,1) = " Иванов"
Data2(1,2) = #3/21/1947#
Data2(1,3) = Year(Date) - Year(Data(1,2))
MsgBox Data2(1,1) & ", возраст ” & Data2(1,3) & _
", родился " & Data2(1,2)
Если считать массив Data2 таблицей, то этот код присваивает значения ее первой строке. Для задания остальных строк понадобятся дополнительные инструкции. Перепишем 2D_МассивVariant, используя преимущества нестандартного типа Персона, описанного ранее в этой главе. Для достижения такого же результата нам достаточно одномерного массива типа Персона, как показано ниже. Напомним, что определение типа должно стоять в начале модуля VBA.
|
|
Type Персона
Имя As String
ДатаРождения As Date
Возраст As Integer
Sub ПользовательскийМассив()
Dim Data3(10) As Персона
Data3(1).Имя = "Иванов"
Data3(1).ДатаРождения = #3/21/1947#
Data3(1).Возраст=Year(Date)-Year(Data3(1).ДатаРождения)
MsgBox Data3(1).Имя & ", возраст " & _
Data3(1).Возраст & ", родился " & _
Data3(1).ДатаРождения
Выполнение программы ПользовательскийМассив заканчивается появлением такого информационного окна.