2015-02-02 5 views
0

В настоящее время я переношу данные из столбца в строку в другой таблице по одному. Я начал использовать функцию «запись макроса», но у меня проблемы. Мне нужен макрос, чтобы скопировать столбец данных по столбцу и перенести его в соответствующую строку на расстоянии 15 строк. В документе содержится 100 записей. Например; P4 - P23 в документе 1 необходимо перенести на M217 - AF217 в документ 2. Q4 - Q23 необходимо транспонировать в M232 - AF 232, вплоть до строки 1501.Excel 2010 Macro для переноса не соседних ячеек

+0

просто перенести его, как обычно, а затем использовать макрос, чтобы добавить пустые строки, то не более complicate –

+0

Когда я использую функцию макроса записи, он записывает только макрос для пустых ячеек, которые я заполнял во время записи. У меня возникли проблемы с тем, что код запускается через весь документ. –

ответ

0

Вы можете использовать этот простой субтранспозиционный диапазон.

Просто дайте ему источник и место назначения в качестве диапазона:

Sub TransposeRange(SourceRange As Range, DestinationRange As Range) 
    SourceRange.Copy 
    DestinationRange.PasteSpecial Transpose:=True 
End Sub 


'Example: 
Sub MoveRange() 
    Call TransposeRange(Range("P4:P24"), Range("M232")) 
End Sub 

'Transpose columns 1-10 and put them row by row at column O 
Sub MoveColumns() 
    For x = 1 To 10 
     Call TransposeRange(Intersect(UsedRange, Cells(1, x).EntireColumn), Cells(x, 15)) 
    Next x 
End Sub 

Результат:

Result

+1

Это замечательно, спасибо большое! –