Видели смо функцију транспоновања у Екцеловом радном листу када залепимо било коју табелу података на радни лист, а оно што транспонује је да мења положај редова и колона, тј. Редови постају колоне, а колоне постају редови у табели података, будући да је то радни лист функцију у ВБА користимо је са методом Апплицатион.ворксхеет у ВБА.
Како транспоновати у ВБА?
Промена редова и колона једна је од техника манипулације подацима коју готово сви корисници раде у екцелу. Процес претварања хоризонталних података у вертикалне и вертикалне податке у хоризонталне назива се „транспоновање“ у Екцелу. Сигуран сам да вам је транспозиција позната на редовном радном листу. У овом чланку ћемо вам показати како се користи метода транспоновања у ВБА кодирању.
Можемо да транспонујемо у ВБА помоћу две методе.
- Транспонујте помоћу ТРАНСПОСЕ формуле.
- Транспонујте помоћу специјалне методе лепљења.
Када транспонујемо, замењујемо редове у колоне и колоне у редове. На пример, ако су подаци у низу 4 Кс 3, онда постају низ 3 Кс 4.
Погледајмо неколико примера за транспоновање колоне у ред у ВБА.
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba.jpg.webp)
# 1 - ВБА транспоновање помоћу ТРАНСПОСЕ формуле
Као што на сличан начин користимо ТРАНСПОСЕ у Екцелу, тако и у ВБА можемо користити формулу ТРАНСПОСЕ. У ВБА немамо формулу ТРАНСПОСЕ, па је морамо користити у класи Функција радног листа.
На пример, погледајте доњу слику података.
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_2.jpg.webp)
Покушаћемо да пренесемо овај низ вредности. Следите кораке у наставку да бисте транспоновали податке.
Корак 1: Покрените потпроцедуру.
Шифра:
Суб Транспосе_Екампле1 () Енд Суб
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_3.jpg.webp)
Корак 2: Прво, морамо да одлучимо где ћемо транспоновати податке. У овоме сам изабрао да транспонујем из ћелије Д1 у Х2. Дакле, унесите ВБА код као опсег („Д1: Х2“). Вредност =
Шифра:
Суб Транспосе_Екампле1 () Опсег ("Д1: Х2"). Вредност = Крај Суб
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_4.jpg.webp)
Корак 3: Сада, у горе поменутом опсегу, потребна нам је вредност опсега од А1 до Б5. Да бисте дошли до ове отворене класе „Функција радног листа“ и изабрали формулу „Транспозиција“.
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_5.jpg.webp)
Корак 4: У Арг 1 наведите опсег извора података, тј. Опсег („А1: Д5“) .
Шифра:
Суб Транспосе_Екампле1 () Ранге ("Д1: Х2"). Валуе = ВорксхеетФунцтион.Транспосе (Ранге ("А1: Д5")) Енд Суб
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_6.jpg.webp)
У реду, завршили смо са ТРАНСПОСЕ кодирањем формуле. Сада покрените код да бисте видели резултат у опсегу ћелија од Д1 до Х2.
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba.gif)
Као што смо видели на горњој слици, претворио је опсег ћелија из колона у редове.
# 2 - ВБА транспоновање помоћу пасте специјалне методе
Такође можемо да транспонујемо методом Пасте Специал. Узмите у обзир исте податке и за овај пример.
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_2.jpg.webp)
Прва ствар коју морамо да урадимо да бисмо транспоновали је копирање података. Зато напишите код као опсег („А1: Б5“). Копирајте
Шифра:
Суб Транспосе_Екампле2 () Опсег ("А1: Б5"). Копирај Крај Суб
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_7.jpg.webp)
Следећа ствар је да морамо да одлучимо где ћемо лепити податке. У овом случају, изабрао сам Д1 као жељену одредишну ћелију.
Шифра:
Суб Транспосе_Екампле2 () опсег ("А1: Б5"). Опсег копирања ("Д1"). Енд Суб
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_8.jpg.webp)
Када одаберете жељену одредишну ћелију, морамо да изаберемо „Пасте Специал Метход“.
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_9.jpg.webp)
Помоћу пасте специал можемо да извршимо све радње које имамо помоћу уобичајених метода лепљења на радном листу.
Занемарите све параметре и одаберите последњи параметар, тј. Транспонуј, и учините ово ТРУЕ.
Шифра:
Суб Транспосе_Екампле2 () опсег ("А1: Б5"). Опсег копирања ("Д1"). ПастеСпециал Транспосе: = Труе Енд Суб
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_10.jpg.webp)
Ово ће такође транспоновати податке као и претходни метод.
![](https://cdn.know-base.net/1851219/vba_transpose_step_by_step_top_2_methods_to_transpose_in_vba_2.gif)
На овај начин, можемо да користимо формулу ТРАНСПОСЕ или методу Пасте Специал да бисмо транспоновали податке за пребацивање редова у колоне и колоне у редове.
Ствари које треба запамтити
- Ако користимо функцију ТРАНСПОСЕ радног листа, обавезно је израчунати број редова и колона за транспоновање података. Ако имамо 5 редова и 3 колоне, онда током транспоновања то постаје 3 реда и 5 колона.
- Ако желите исто обликовање током коришћења пасте специал, онда морате користити аргумент Пасте Типе као „клПастеФорматс“.
Овај ВБА Транспосе Екцел Темплате можете преузети одавде - ВБА Транспосе Екцел Темплате.