2013-07-23 75 views
0

我都记录在Excel中的宏,在不同的顺序发生某些细胞的电子表格,并将它们复制到页面的一个页面的数据在VBA循环。它单独做每个单元,并且很长。创建一个Excel宏

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

如何使这个单一的宏成一个循环,复制相同的数据,但是从每一行到新的页面?

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

感谢

+4

请包括您的代码 –

回答

0

你可以忽略你的代码,只显示相关的部分,或代码样机宏来解决,并仅您的问题。

让我们想象一下你的问题作为一个子,在这种情况下是高度省略:

Sub OmittedSub() 
    ' Do stuff 
End 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的基础知识。我不知道如何回答你的问题不知道你已经尽力了,你多么努力,更好地等等......

0

Raybarg提供你这个问题基本解决。我不确定“某些细胞”是什么意思,这是否意味着它们具有一定的价值,或者像A5,A10,A15那样有规律的秩序?

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

你应该包括你的代码,它给你真正想要的实现和地方是错误的提示。