Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 在Excel宏中对28118行重复命令_Vba_Excel - Fatal编程技术网

Vba 在Excel宏中对28118行重复命令

Vba 在Excel宏中对28118行重复命令,vba,excel,Vba,Excel,我一直在处理越来越大的电子表格,最近开始试验宏。不幸的是,我仍然是一个初学者,不知道如何循环或简单地重复2556次excel中非常简单的任务 我有2556(15x2)个数据表,分布在电子表格中的28118行上,我想将特定单元格(位于每个表之间的一行)剪切并粘贴到表本身中(2556次)。我有以下宏: Sub stat_shr() ' ' Shr_Ma Macro ' H6 stats Sorting xls ' ' Range("B7").Select Selection.Cut

我一直在处理越来越大的电子表格,最近开始试验宏。不幸的是,我仍然是一个初学者,不知道如何循环或简单地重复2556次excel中非常简单的任务

我有2556(15x2)个数据表,分布在电子表格中的28118行上,我想将特定单元格(位于每个表之间的一行)剪切并粘贴到表本身中(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行(非空)分隔。有人能提供一些帮助吗?

你需要一个。。。下一个循环。首先,确定剪切和粘贴操作需要执行多少次。假设它是100倍,那么:

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

请注意,您不需要“选择”单元格或区域来使用它们。事实上,几乎不需要使用“选择”-这正是宏记录器的工作方式。

使用带步长的for循环。它将按您输入的任何数字增加变量:

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

您可能需要调整此处的数字,但这基本上就是您要寻找的。

所以您要移动每个第11个单元格?i、 e.B7->A13,B18->A24,…?不确定切割这些细胞的逻辑是什么。起初我以为它在下面6行,左边1列,但A24->B29不匹配。@simoco,是的,每个第11个单元格向下6行,左边1列。@lowak这正是我想要做的,也许我的描述不是很清楚,我现在已经更正了。不是真的,你做得对,我只是找错了地方,误读了你的代码。我想ForteDevelop写了一个你需要的代码。