Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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宏创建循环_Excel_Vba_Loops - Fatal编程技术网

在vba中为excel宏创建循环

在vba中为excel宏创建循环,excel,vba,loops,Excel,Vba,Loops,我在Excel中记录了一个宏,它从电子表格的一页中的某些单元格获取数据,并以不同的顺序复制到另一页。它单独处理每个单元,并且相当长 但是,它只对第一页中的一行数据执行此操作 如何使这个宏成为一个循环,将相同的数据从每一行复制到新页面中 我没有包括宏代码,因为它很长,但如果需要可以这样做 谢谢您可以省略代码以仅显示相关部分,或者编写一个模拟宏以仅解决问题 让我们将您的问题想象为一个子问题,在本例中,该子问题被高度忽略: Sub OmittedSub() ' Do stuff End Sub

我在Excel中记录了一个宏,它从电子表格的一页中的某些单元格获取数据,并以不同的顺序复制到另一页。它单独处理每个单元,并且相当长

但是,它只对第一页中的一行数据执行此操作

如何使这个宏成为一个循环,将相同的数据从每一行复制到新页面中

我没有包括宏代码,因为它很长,但如果需要可以这样做


谢谢

您可以省略代码以仅显示相关部分,或者编写一个模拟宏以仅解决问题

让我们将您的问题想象为一个子问题,在本例中,该子问题被高度忽略:

Sub OmittedSub()
    ' Do stuff
End Sub
您可以创建新sub多次调用它,此新sub将是您要调用的sub:

Sub LoopOmittedSubs()
    Dim i As Integer

    ' Loop to call your macro routine multiple times
    For i = 1 To 100
        OmittedSub
    Next
End Sub
如果您需要传递一个值,例如,宏不知道要影响哪一行,您需要告诉它,您可以这样传递循环变量:

Sub OmittedSub(iRow As Integer)
    ' Do stuff for row number iRow
End Sub

Sub LoopOmittedSubs()
    Dim i As Integer

    ' Loop to call your macro routine multiple times
    For i = 1 To 100
        OmittedSub i
    Next
End Sub

这个答案是VBA的基础。我不知道如何更好地回答你的问题,而不知道你已经尝试了什么,你是如何尝试的,等等。

Raybarg为你提供了这个问题的基本解决方案。我不知道你所说的“特定单元格”是什么意思,它是指它们有特定的值,还是有规律的顺序,比如A5、A10、A15

在这两种情况下,您可能会使用Raybarg的代码和条件语句


您应该包括您的代码,它给出了一些提示,说明您实际想要实现什么以及错误在哪里。

请包括您的代码