Тип даних Varian Variant (Dim Variable)

Варіант Тип змінної

Змінна варіанта може містити будь -який час даних (рядок, цілі числа, десяткові дроби, об’єкти тощо). Якщо ви не оголошуєте тип змінної, ваша змінна буде вважатися варіантом.

Для оголошення змінної Variant використовуйте оператор Dim (скорочення від Dimension):

1 Dim varName як Variant
1 Затемнити як варіант

Тоді, щоб призначити змінній значення, просто використовуйте знак рівності:

1 varName = "Джон"
1 rng = Аркуші (1). Діапазон ("A1")

Введення цього в процедуру виглядає так:

12345678910 Sub strExample ()'оголосити варіантиDim strName As VariantDim rng як варіант'заповнити змінніstrName = "Фред Сміт"Встановити rng = Аркуші (1). Діапазон ("A1")'заповнити аркушrng.Value = strNameEnd Sub

Якщо ви запустите код вище, клітинка А1 у Аркуші 1 буде заповнена "Фредом Смітом"

За названими вище назвами можна зробити висновок, що varName міститиме текст, а objSheet міститиме об’єкт аркуша. Але насправді будь -який тип даних може бути спрямований до змінної.

Ви можете заповнити зазначені вище змінні наступним чином, і помилки не виникнуть.

1 varName = 6
1 objSheet - "Фред"

Незвично використовувати варіанти змінних і це не вважається належною практикою. Однак іноді змінні варіанту корисні.

Оголошення змінної варіанта на модульному або глобальному рівні

У попередньому прикладі ви оголошували змінну Variant у процедурі. Змінні, оголошені процедурою, можна використовувати лише в рамках цієї процедури.

Замість цього ви можете оголосити змінні Variant на модульному або глобальному рівні.

Рівень модуля

Рівень модуля змінні оголошуються у верхній частині модулів коду за допомогою Dim заяву.

Ці змінні можна використовувати з будь -якою процедурою в цьому модулі коду.

Глобальний рівень

Глобальний рівень змінні також оголошуються у верхній частині модулів коду. Однак замість використання Dim , ви використовуєте Громадські оператор, який вказує, що рядкова змінна доступна для використання у вашому проекті VBA.

1 Загальнодоступне ім'я strName як варіант

Якщо б ви оголосили змінну варіанту на рівні модуля та використовували її в іншому модулі, відбудеться помилка.

Якби ви використовували ключове слово Public для оголошення змінної варіанту, помилка не відбулася б і процедура працювала б ідеально.

Використання варіанту для заповнення Excel

Розглянемо таку процедуру:

12345678910111213141516171819 Sub TestVariable'оголосити рядок для збереження назви продуктуЗатемнити strProduct як рядок'оголосити ціле число для утримання кількості продуктуЗменшити iQty як ціле число'оголосити подвійне утримання ціни продукту та загальної ціниDim dblPrice як DoubleDim dblTotal як Double'заповнити змінніstrProduct = "Універсальне борошно"iQty = 3dblPrice = "$ 5,00"dblTotal = "15,00 доларів США"'заповніть аркуш ExcelДіапазон ("A1") = strProductДіапазон ("A2") = iQtyДіапазон ("A3") = dblPriceДіапазон ("A4") = dblВсьогоEnd Sub

Коли ми запускаємо цей код, виникає така помилка.

Натисніть Налагодження

Ви не можете поставити знак долара у змінну, оскільки змінна оголошена як Подвійний, і тому не може зберігати рядкові значення.

Заявити dblЦіна та dblВсього як варіанти, що означає, що ви не обмежені типом даних.

1 Dim dblPrice as Variant
1 Dim dblTotal як варіант

Повторно запустіть код, і дані з’являться на аркуші Excel належним чином.

Зауважте, що дані, введені у форматі А4 та А5, потім автоматично перетворюються програмою Excel у числа.

Оголошення динамічного масиву

Змінні варіанти також корисні при оголошенні динамічного масиву, оскільки вони дозволяють змінювати розмір масиву під час виконання.

ЗМасив варіантів, вам не потрібно визначати розмір масиву. Розмір буде автоматично регулюватися.

123456789 Додатковий варіант ()Dim arrList () як варіант'Визначте значенняarrList = Масив (1, 2, 3, 4)'Змінити значенняarrList = Масив (1,2,3,4,5,6)'Вихідне положення 4MsgBox arrVar (4)End Sub

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave