2

Я пытаюсь решить следующую проблему в Excel: я работаю на двух листах, лист 1 и лист 2. На листе 1 есть столбец данных (скажем, от A5 до A20). Мне нужно, чтобы каждая строка из этого столбца была вставлена / связана с каждой n-й строкой в столбце A, Sheet2. Пожалуйста, каков наилучший способ сделать это?

Пример того, чего я пытаюсь достичь:

A(n) from sheet 1 -> A(x) sheet 2<br>
A(n+1) from sheet 1 -> A(x+7)5 sheet 2 <br>
A(n+2) from sheet 1 -> A(x+14) sheet 2<br>
A(n+b) from shee 1 -> A (x+b*7) sheet 2<br>
etc...

2 ответа2

1

Попробуйте этот макрос заменил AnotherSheet с настоящим именем:

Sub MyMacro()  

' Part 1 - first move the range to another sheet
Range("A5:A20").Select      
Selection.Copy      
Sheets("**AnotherSheet**").Select      
ActiveSheet.Paste      

' Part 2 - move the cell to right place
Dim r As Range

For Each r In Selection
  r.Cut
  r.Offset(r.Row * 7).Select
  Selection.Insert
Next r

End Sub 
0

Без VBA что-то вроде этого работает -

 =IF(MOD(ROW(A1),3)<>1,"",INDEX(Sheet1!A:A,MOD(ROW(A1),3)+INT(ROW(A1)/3)))

Замените 3 нужной вам nth строкой и перетащите ее вниз и поперек на Sheet2, или каковы бы ни были ваши имена листов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .