Excel - макрос за прехвърляне на данни от редове в колони
Проблем
Сега данните са в следния формат1 2 39 15 16 20 25
1
Това трябва да дойде в този формат
12
3
9
15
16
20
25
1
Решение
Предположения:- 1. Данните започват от ред 1 и трябва винаги да се копират в колона А
- 2. Редовете могат да бъдат вмъкнати без изкривяване на данните
Sub TransposeSpecial ()Намалете lMaxRows As Long 'макс. Редове в листа
Редът се променя
Dim iMaxCol As Integer използва макс. Колона в реда, който се обработва
lMaxRows = Клетки (Rows.Count, "A"). Край (xlUp).
lThisRow = 1 'започва от ред 1
Докато lThisRow <lMaxRows
iMaxCol = Клетки (lThisRow, Columns.Count). End (xlToLeft).
Ако (iMaxCol> 1) тогава
Редове (lThisRow + 1 & ":" & lThisRow + iMaxCol - 1).
Обхват (клетки (lThisRow, 2), клетки (lThisRow, iMaxCol)).
Обхват ("A" & lThisRow + 1) .Изберете
Selection.PasteSpecial Paste: = xlPasteAll, Операция: = xlNone, SkipBlanks: = False, Transpose: = True
Обхват (клетки (lThisRow, 2), клетки (lThisRow, iMaxCol)).
lThisRow = lThisRow + iMaxCol - 1
lMaxRows = Клетки (Rows.Count, "A"). Край (xlUp).
Край Ако
lThisRow = lThisRow + 1
контур
Край Под