ВРА функција враћа низ

Преглед садржаја

Овај чланак ће показати како вратити низ помоћу ВБА функције.

ВРА функција враћа низ

Када користите функције за враћање низова, топло препоручујем да декларишете низове са варијантом типа:

123 Функција РетурнАрраи () као варијантаЗавршна функција

Вариант Арраис са њима је лакше радити. Величина низа постаје мање забрињавајућа.

Примери низа функција за враћање функције

Ево примера функције која враћа низ:

1234567891011121314151617181920212223242526272829 Функција РетурнАрраи () као варијантаДим темпАрр као варијанта'Направи нови низ темпРеДим темпАрр (1 до 3, 1 до 2)'Доделите вредности низатемпАрр (1, 1) = "Стеве"темпАрр (1, 2) = "Јохнсон"темпАрр (2, 1) = "Риан"темпАрр (2, 2) = "Јохнсон"темпАрр (3, 1) = "Андрев"темпАрр (3, 2) = "Сцотт"'Излазни низРетурнАрраи = темпАррЗавршна функцијаСуб ТестТранспосеАрраи ()Дим оутпутАрр као варијанта'Функција повратног позиваоутпутАрр = РетурнАрраи ()'Тест ОутпутМсгБок оутпутАрр (2, 1)Енд Суб

Приметите да смо декларисали низове са типом података = варијантом како бисмо избегли проблеме са величином.

Овај пример узима низ као улаз, транспонује низ и даје нови транспоновани низ:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 Функција ТранспосеАрраи (МиАрраи као варијанта) као варијантаДим к Ас Лонг, и Ас ЛонгДим макКс Ас Лонг, минКс Ас ЛонгДим макИ Ас Лонг, минИ Ас ЛонгДим темпАрр као варијанта'Пређите горње и доње границемакКс = УБоунд (МиАрраи, 1)минКс = ЛБоунд (МиАрраи, 1)макИ = УБоунд (МиАрраи, 2)минИ = ЛБоунд (МиАрраи, 2)'Направи нови низ темпРеДим темпАрр (минКс до макКс, минИ до макКс)'Транспонирајте низЗа к = минКс То макКсЗа и = минИ до макИтемпАрр (и, к) = МиАрраи (к, и)Следеће иДаље к'Излазни низТранспосеАрраи = темпАррЗавршна функцијаСуб ТестТранспосеАрраи ()Затамните тестАрр (1 до 3, 1 до 2) као варијантуДим оутпутАрр као варијанта'Доделите вредности низатестАрр (1, 1) = "Стеве"тестАрр (1, 2) = "Јохнсон"тестАрр (2, 1) = "Риан"тестАрр (2, 2) = "Јохнсон"тестАрр (3, 1) = "Андрев"тестАрр (3, 2) = "Сцотт"'Функција преноса позиваоутпутАрр = ТранспосеАрраи (тестАрр)'Тест ОутпутМсгБок оутпутАрр (2, 1)Енд Суб
wave wave wave wave wave