【发布时间】:2015-12-02 05:10:55
【问题描述】:
我正在尝试循环代码,因此我不必每次都手动输入单元格范围。
子副本()
Dim x As Range
Dim y As Range
Set x = Range("C24361:F24363")
Set y = Range("P1")
x.copy
y.Select
ActiveSheet.Paste
x.Offset(5, 0).copy
y.Offset(3, 0).Select
ActiveSheet.Paste
x.Offset(10, 0).copy
y.Offset(6, 0).Select
ActiveSheet.Paste
x.Offset(15, 0).copy
y.Offset(9, 0).Select
ActiveSheet.Paste
x.Offset(54, 0).copy
y.Offset(12, 0).Select
ActiveSheet.Paste
x.Offset(59, 0).copy
y.Offset(15, 0).Select
ActiveSheet.Paste
x.Offset(64, 0).copy
y.Offset(18, 0).Select
ActiveSheet.Paste
x.Offset(69, 0).copy
y.Offset(21, 0).Select
ActiveSheet.Paste
x.Offset(108, 0).copy
y.Offset(24, 0).Select
ActiveSheet.Paste
x.Offset(113, 0).copy
y.Offset(27, 0).Select
ActiveSheet.Paste
x.Offset(118, 0).copy
y.Offset(30, 0).Select
ActiveSheet.Paste
x.Offset(123, 0).copy
y.Offset(33, 0).Select
ActiveSheet.Paste
x.Offset(162, 0).copy
y.Offset(36, 0).Select
ActiveSheet.Paste
x.Offset(167, 0).copy
y.Offset(39, 0).Select
ActiveSheet.Paste
x.Offset(172, 0).copy
y.Offset(42, 0).Select
ActiveSheet.Paste
x.Offset(177, 0).copy
y.Offset(45, 0).Select
ActiveSheet.Paste
结束子
现在我抓住指定的范围...并删除三个副本..粘贴..etc..一旦制作了 4 个副本...我需要删除 54 并运行相同的 drop 5 副本(所以 59)。 .并继续粘贴 3 滴...关于我如何完成这项任务的任何线索?
谢谢你
【问题讨论】:
-
有点困惑...所以首先是
5,10,15,54,然后是5,10,15,59或10,15,20,59? -
是的。所以它是一个副本,然后向下移动 5、10、15,然后是 54(这些由 5 分隔),所以 59、64、69,然后是 108、113、118、123,然后是 162(+5+5 等)。 .在英语中,我需要制作 100 个 4 3x4 副本,每组 4 个 3x4 的第一个单元格由每个城市的 54 个单元格分隔(因此从 54、108、162 开始)。有道理?谢谢
-
54 是跳到下一组 4 个 3x4s,因为第一个单元格距离我制作的原始副本 54 远(在本例中为 C7)。另外它跳五的原因是每个 3x4 的第一个单元格距离为 5 个单元格。
-
那么
5,10,15,54之后是什么?你能在上面的问题中写第二组复制粘贴代码,以便我明白你的意思吗? -
我又写了几组..所以在复制了前 4 组 3x3 后,它跳了 54...然后你看到了 3 组 3x3 ..然后是 108...3 组。 ..162 等
标签: vba loops copy offset paste