Excel 循环多次
我要做的是多次循环Excel 循环多次,excel,vba,Excel,Vba,我要做的是多次循环xlDown 我有这样的想法: For i=1 to 2000 1 x Selection.End(xlDown).Select then copy a range, then pasting it in another worksheet (i already have these functions) next 第二次迭代应该进行Selection.End(xlDown)。选择2次,第三次选择3次,依此类推 求你了,我被这件事难住了,我知道这很容易 提前感谢假设
xlDown
我有这样的想法:
For i=1 to 2000
1 x Selection.End(xlDown).Select
then copy a range, then pasting it in another worksheet (i already have these functions)
next
第二次迭代应该进行Selection.End(xlDown)。选择2次,第三次选择3次,依此类推
求你了,我被这件事难住了,我知道这很容易
提前感谢假设您有A2到A202的数据,并且数据中有三个缺口。还假设您知道数据没有下降到A250,并且A250和数据末尾之间没有任何内容
最好的方法是从底部使用xlUp
一次,而不是多次使用xlDown
。但两者都可以。这里有一个例子
Sub LoopDown()
Dim rStart As Range
Dim rEnd As Range
Dim i As Long
Set rStart = Sheet1.Range("A2")
Set rEnd = rStart 'set it to rStart initially
For i = 1 To 7 'go to # of gaps x 2 + 1 (3 x 2 + 1 = 7 for 3 gaps)
Set rEnd = rEnd.End(xlDown) 'every time you do an
'xlDown, you reset rEnd
Next i
'These are the same
Debug.Print Range(rStart, rEnd).Address
Debug.Print Range(rStart, Range("A250").End(xlUp)).Address
End Sub
还这个
$A$2:$A$202
$A$2:$A$202
假设您有A2到A202的数据,并且数据中有三个缺口。还假设您知道数据没有下降到A250,并且A250和数据末尾之间没有任何内容
最好的方法是从底部使用xlUp
一次,而不是多次使用xlDown
。但两者都可以。这里有一个例子
Sub LoopDown()
Dim rStart As Range
Dim rEnd As Range
Dim i As Long
Set rStart = Sheet1.Range("A2")
Set rEnd = rStart 'set it to rStart initially
For i = 1 To 7 'go to # of gaps x 2 + 1 (3 x 2 + 1 = 7 for 3 gaps)
Set rEnd = rEnd.End(xlDown) 'every time you do an
'xlDown, you reset rEnd
Next i
'These are the same
Debug.Print Range(rStart, rEnd).Address
Debug.Print Range(rStart, Range("A250").End(xlUp)).Address
End Sub
还这个
$A$2:$A$202
$A$2:$A$202
为什么要多次复制数据?一次还不够吗?不。我想多次批量复制大量数据,这些数据之间有一些漏洞。你只是想复制从某一行到最后一行的范围吗?您想同时复制“孔”还是只复制非空白行?xldown转到I11(第一行),然后宏向右移动8列,复制,向左移动8列,然后将该值粘贴到第一行最后一列的另一张表中。我想偏移复制的下一个值是I284,然后是I286,依此类推。所有这些细胞是否在孔之间。我可以通过CTRL+Down选择我感兴趣的所有值,这就是我使用xldown的原因。这里的困难在于,当我粘贴后要返回到第一个工作表时,我不知道如何返回到上次复制的行,因此我使用了固定引用(X9),然后多次向下xldown它。数据是在一列上编译的吗?因为如果是这样的话,也许用xlUp方法确定最后一行就足够了。例如Range(“A1:A”和Range(“a048576”).end(xlUp).row.Copy
为什么要多次复制数据?一次还不够吗?不。我想多次批量复制大量数据,这些数据之间有一些漏洞。你只是想复制从某一行到最后一行的范围吗?您想同时复制“孔”还是只复制非空白行?xldown转到I11(第一行),然后宏向右移动8列,复制,向左移动8列,然后将该值粘贴到第一行最后一列的另一张表中。我想偏移复制的下一个值是I284,然后是I286,依此类推。所有这些细胞是否在孔之间。我可以通过CTRL+Down选择我感兴趣的所有值,这就是我使用xldown的原因。这里的困难在于,当我粘贴后要返回到第一个工作表时,我不知道如何返回到上次复制的行,因此我使用了固定引用(X9),然后多次向下xldown它。数据是在一列上编译的吗?因为如果是这样的话,也许用xlUp方法确定最后一行就足够了。例如Range(“A1:A”和Range(“a048576”).end(xlUp).row.Copy