vba 跨工作簿运行模块 |
您所在的位置:网站首页 › 怎样引用另外一个工作簿里的数据和文件 › vba 跨工作簿运行模块 |
vba中,使用Call程序名,是使用当前工作簿中的程序,若要运行其他工作簿的程序,则要使用(要先打开这个工作簿) plication.Run "'b.xls'!模块1.宏1" 除此之外,此方法还可以用于传递参数(跨工作簿) 参考: Sub sal() Dim a, b As String a = "C:\Users\Administrator\Desktop\文艺社模板\10零售业务基础数据-零售(下).xlsm" Application.Workbooks.Open a Application.Run "'" & a & "'!b" '''''这是运行其他工作簿的程序(文件地址带参数) End Sub其中a工作簿模块下写下面的代码 Dim pth1 As String'当前模块 Public SS1 As String, SS2 As String Public Sub Main() pth1 = ThisWorkbook.Path & "\工作簿名.xls" Application.Workbooks.Open pth1 Application.Run "'工作簿名.xls'!aa"''''''''这是运行其他工作簿的程序 Application.Run "'工作簿名.xls'!ssd"''''''''这是运行其他工作簿的程序(用于调用参数) 'Workbooks("工作簿名.xls").Close savechanges:=Fals Range("a1") = Application.ExecuteExcel4Macro("abc")'''''''''这是传递参数 MsgBox Application.ExecuteExcel4Macro("abc") End Sub Sub aa() MsgBox ("aa") End Sub‘’‘另一个工作簿’写这个 Public SS1 As String Public Sub ssd() Range("a1") = 1 SS1 = "aa12" 'ThisWorkbook.Name Application.ExecuteExcel4Macro "set.name(""abc"",""" & SS1 & """)" End Sub Sub aa() MsgBox ("bb") End Sub
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |