Екцел - Макро за пренос података из редова у колоне
Питање
Подаци су сада у формату испод1 2 39 15 16 20 25
1
Ово мора доћи у овом формату
12
3
9
15
16
20
25
1
Решење
Претпоставке:- 1. Подаци почињу из реда 1 и увек се копирају у колону А
- 2. Редови се могу уметнути без изобличења у податке
Суб ТранспосеСпециал ()Дим лМакРовс Ас Лонг 'мак редова у листу
Дим лТхисРов Ас Лонг 'се обрађује
Дим иМакЦол Ас Интегер 'користи колону у реду који се обрађује
лМакРовс = Ћелије (Ровс.Цоунт, "А"). Крај (клУп) .Ров
лТхисРов = 1 'почиње из реда 1
До Вхиле лТхисРов <лМакРовс
иМакЦол = Ћелије (лТхисРов, Цолумнс.Цоунт) .Енд (клТоЛефт) .Цолумн
Ако (иМакЦол> 1) онда
Ровс (лТхисРов + 1 & ":" & лТхисРов + иМакЦол - 1) .Инсерт
Опсег (ћелије (лТхисРов, 2), ћелије (лТхисРов, иМакЦол)).
Опсег ("А" & лТхисРов + 1) .Селецт
Селецтион.ПастеСпециал Пасте: = клПастеАлл, Операција: = клНоне, СкипБланкс: = Фалсе, Транспосе: = Труе
Опсег (ћелије (лТхисРов, 2), ћелије (лТхисРов, иМакЦол)).
лТхисРов = лТхисРов + иМакЦол - 1
лМакРовс = Ћелије (Ровс.Цоунт, "А"). Крај (клУп) .Ров
Енд Иф
лТхисРов = лТхисРов + 1
Лооп
Енд Суб