在excel中的宏中运行宏

问题描述:

我正在尝试编写运行2个其他宏的宏。但是,第二个宏需要您选择数据所在文件的位置。有没有办法为10个不同的文件位置运行第二个宏10次。总之,我会有两个宏都有10个循环。在excel中的宏中运行宏

有些大意如下须藤代码行:

file_loc = ('c:/users/desktop/....sim1.csv','c:/users/desktop/....sim2.csv'..'sim3'...sim10') 

for i in range (10): 
    Run Macro1 
    wait for calculation 

    Run Macro2 
    file = file_loc(i) 
    wait for calculation 

    copy cell A10 (result) to AZ(i) 
    next i 

这是VBA的可能性?

+0

在VBA中有一个体面的调试机制。你应该试着按F5然后看看。顺便说一句,你的'for' Loop最后需要'Next i'。 –

+0

问题是我不知道如何链接第二个宏文件位置提示与代码中的文件位置。这甚至有可能吗? – Joey

假设您的宏看起来像这样:

Private Sub Macro1() 
    ' Prompt for location 
    ' Do stuff 
End Sub 

您可以重构这:

Private Sub Macro1(Optional location As String = "") 
    ' Test whether location was specified, and prompt for it if not 
    ' Do stuff 
End Sub 

这样一来,就可以遍历和位置的列表通过每一个作为参数,同时仍然可以在没有这些信息的情况下使用宏。