ВБА Транспосе Арраи

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

Транспонирај низ

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

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

Да бисте тестирали ову функцију, позовите процедуру ТестТранспосеАрраи: овде се креира почетни низ тестАрр, а оутпутАрр је коначни транспоновани низ.

ВорксхеетФунцтион.Транспосе

Уместо тога, можда ћете желети да транспонујете низ у Екцел. Да бисте то урадили, можете користити функцију Екцел Транспонирање радног листа.

Ова процедура ће транспоновати 2Д низ у Екцел опсег помоћу функције Транспонирај радни лист:

12345678910111213141516171819202122232425 Под ТестТранспосеАрраи_Ворксхеетфк ()Дим макКс Ас Лонг, минКс Ас ЛонгДим макИ Ас Лонг, минИ Ас Лонг'Креирајте низ и доделите вредностиЗатамните МиАрраи (1 до 3, 1 до 2) као варијантуМиАрраи (1, 1) = "Стеве"МиАрраи (1, 2) = "Јохнсон"МиАрраи (2, 1) = "Рајан"МиАрраи (2, 2) = "Јохнсон"МиАрраи (3, 1) = "Андрев"МиАрраи (3, 2) = "Сцотт"'Пређите горње и доње границемакКс = УБоунд (МиАрраи, 1)минКс = ЛБоунд (МиАрраи, 1)макИ = УБоунд (МиАрраи, 2)минИ = ЛБоунд (МиАрраи, 2)'Пренесите низ у ЕкцелОпсег ("а1"). Промена величине (макИ - минИ + 1, макКс - минКс + 1) .Вредност = _Апплицатион.ВорксхеетФунцтион.Транспосе (МиАрраи)Енд Суб

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave