В настоящее время я работаю над большим набором данных, загружаемых с Morningstar Direct. Мне нужна помощь с макросом, который может изменить экспортированный документ с горизонтального на вертикальный. Я безуспешно пробовал все функции в excel, поэтому мне кажется, что для этой операции нужен макрос.VBA transpose несколько раз
Например:
От:
Data1-2000 Data1-2001 Data1-2002 ... Data1-2016 Data2-2000 Data2-2001 and so on
To:
Data1-2000
Data1-2001
...
Data1-2016
Data2-2000
Data2-2001
...
Каждый datavariable идет от 2000 до 2016 года мы имеем более 500 линеечки, что нужно такое же преобразование. Есть ли какой-нибудь код VBA, который может сделать это для меня? Это спасет мою жизнь (по крайней мере, мою Пасху)!
** Addedum от ответа поста OP в:
Я сделал этот макрос:
Sub Flip()
'
' Flip Macro
'
Sheets("S&P 500 Constituents").Select
Range("I2:X2").Select
Selection.Copy
Sheets("Sheet1").Select
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("S&P 500 Constituents").Select
Range("AB2:AQ2").Select
Selection.Copy
Sheets("Sheet1").Select
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("S&P 500 Constituents").Select
Range("AR2:BG2").Select
Selection.Copy
Sheets("Sheet1").Select
Range("F2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("S&P 500 Constituents").Select
Range("BH2:BW2").Select
Selection.Copy
Sheets("Sheet1").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("S&P 500 Constituents").Select
Range("BX2:CM2").Select
Selection.Copy
Sheets("Sheet1").Select
Range("H2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
Как вы можете видеть все, что берется из строки 2 в моем S & P500 листа, а затем перенесены в sheet1.
Как я могу сделать этот макрос повторять ту же операцию в строке 3, 4, 5 ... 518?