【发布时间】:2020-08-03 14:16:37
【问题描述】:
VBA 新手,我正在尝试编写一个宏,该宏将复制 L 列中的 1 个单元格,将其粘贴到 A 列中 640 次,然后重复 176 次,这样在每个 640 次复制/粘贴循环后,宏将移动到 L 列中的下一个单元格,冲洗并重复。
到目前为止,我得到的是下面的代码,它基本上做了我想要它做的事情,但只做了两次——我认为差距在于我不知道如何正确应用循环两次(一次说复制 640 次,第二个说复制完 640 次后,转到 L 列中的下一个单元格并重新开始。
Dim i As Integer
For i = 1 To 2
ActiveCell.Offset(1, 11).Range("A1").Select
Selection.Copy
ActiveCell.Offset(0, -11).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(0, 11).Range("A1").Select
Application.CutCopyMode = False
Selection.Copy
ActiveCell.Offset(1, -11).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Next i
End Sub
如果我错过了已经回答的线程(搜索了很多,但找不到),请提前感谢您的帮助和道歉。
【问题讨论】:
-
在 A1 中:
=INDEX(L:L,INT((ROW(A1)-1)/640)+1)并复制下来。 -
谢谢!这有效!