在Excel宏中重复命令超过28118行

时间:2014-04-11 10:39:24

标签: excel vba excel-vba

我一直在处理越来越大的电子表格,并且最近开始尝试使用宏。不幸的是,我仍然是一个初学者,无法弄清楚如何循环或简单地重复2556次excel中的一个非常简单的任务。

我在电子表格中有超过28118行的2556(15x2)数据表,我想将特定单元格(位于每个表格之间的行中)剪切并粘贴到表格本身(2556次)。我有以下宏:

Sub stat_shr()
'
' Shr_Ma Macro
' H6 stats Sorting xls
'

'
    Range("B7").Select
    Selection.Cut
    Range("A13").Select
    ActiveSheet.Paste
    Range("B18").Select
    Selection.Cut
    Range("A24").Select
    ActiveSheet.Paste
    Range("B29").Select
    Selection.Cut
    Range("A35").Select
    ActiveSheet.Paste
End Sub

我想在28118行的范围内重复此任务,而不是上面显示的内容。更确切地说,我需要从移动单元B7-> A13,B18-> A24,B29-> A35等开始,重复此操作直到移动B28013-> A28019。列A和B中的相关单元格由10(非空白)行分隔。有人可以提供一些帮助吗?

2 个答案:

答案 0 :(得分:0)

你需要一个For ... Next循环。首先,确定需要进行剪切和粘贴操作的次数。说它是100次,然后:

For i = 0 to 99
    cells(7+i*11,2).cut
    activesheet.paste destination:=cells(13+i*11,1)
Next

请注意,您不需要"选择"细胞或范围与它们一起使用。事实上,几乎没有必要使用" Select" - 那就是宏录音机的工作方式。

答案 1 :(得分:0)

使用带步骤的for循环。它会根据您输入的数字增加变量:

for row = 7 to 28013 step 11
    Range("B" & row).cut
    ActiveSheet.Paste Destination:=Range("A" & row + 6)
next row

您可能需要在此处调整数字,但这基本上应该是您正在寻找的内容。