我正在尝试解决 Excel 中的以下问题:我正在处理两张工作表,工作表 1 和工作表 2。工作表 1 中有一列数据(例如从 A5 到 A20)。我需要将该列中的每一行粘贴/引用到工作表 2 的 A 列中的每第 n 行。请问,最好的方法是什么?
我想要实现的目标的示例:
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...
答案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
答案2
没有 VBA 这样的工作方式 -
=IF(MOD(ROW(A1),3)<>1,"",INDEX(Sheet1!A:A,MOD(ROW(A1),3)+INT(ROW(A1)/3)))
3
用您想要的行替换它nth
,然后将其向下拖动到 Sheet2 上,或无论您的工作表名称是什么。