尝试打开工作簿并在该文件中运行宏

use*_*975 5 excel vba excel-vba

我有一个工作簿打开另一个工作簿(文件名基于单元格值),然后在该文件中运行一个名为Single_sector的宏.

它打开文件完全正常,但不运行宏.有任何想法吗?

Sub run_all()
Dim Location



On Error Resume Next

'Location of file to open
 Location = Worksheets("Main").Range("folder_location").Value

'Open F&V File
Application.Workbooks.Open Location & Range("fv_file").Value
'Run Macro
Run ("Single_sector")



End Sub
Run Code Online (Sandbox Code Playgroud)

Exc*_*ers 15

将以下代码放在调用其他工作簿的宏中:

Location = Worksheets("Main").Range("folder_location").Value
Set wb = Workbooks.Open(Location & Range("fv_file").Value)
Application.Run "'" & wb.Name & "'!" & strSubToRun, Parameters
Set wb = Nothing
Run Code Online (Sandbox Code Playgroud)

参数是您要传递的参数数组,因此其他工作簿中的sub应该类似于

Public Sub TheSub(ParamArray X())

Dim i As Long

Sheet1.Cells(1, 1).Value = "Parameters passed:"

For i = 0 To UBound(X(0))
    Sheet1.Cells(i + 2, 1).Value = CStr(X(i))
Next

End Sub
Run Code Online (Sandbox Code Playgroud)