VBA - Повертає значення з підпроцедури

Цей підручник навчить вас повертати значення з підпроцедури у VBA.

Підпроцедура не призначена для повернення значення - саме для цього використовується функціональна процедура. Однак може бути час, коли ви запускаєте деякий код у підпроцедурі, коли вам потрібно отримати значення з цієї підпроцедури. Це можна зробити за допомогою модульних або глобальних змінних або використання підпроцедури для заповнення аркуша Excel.

Використання змінних для повернення значення

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

123456789 Опція явнаDim dblQty як DoubleПідтестA ()'зателефонуйте на підрозділ TestBВиклик TestB'показати значення змінної у вікні модуляНалагодження. Друк dblQtyEnd Sub
1234 Sub TestB ()'заповніть змінну модуляdblQty = 900End Sub

Щоб об’єднати їх разом, ми б запустили TestA, який, у свою чергу, викликав би TestB і дав би нам значення 900 у найближчому вікні.

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

Глобальна змінна

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

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

Нижче описана підпроцедура безпосередньо заповнить діапазон від A1 до C1 у вашому аркуші Excel, таким чином повертаючи значення до клітинок із підпроцедури.

12345 Sub PopulateRange ()Діапазон ("A1") = "Продукт"Діапазон ("B1") = "Кількість"Діапазон ("C1") = "Вартість"End Sub

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

1234567 Sub RetrieveRange ()Затемніть продукт як рядок, кількість - як довго, вартість - подвійноПродукт = діапазон ("A1")Кількість = діапазон ("B1")Вартість = діапазон ("C1")End Sub

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

wave wave wave wave wave