excel vba中,一个工作薄如何给另一个工作薄的vba变量赋值?

2024-11-17 14:26:35
推荐回答(2个)
回答1:

将a.xls工作薄vba标准模块中的变量“aa”设为全局变量,设一个带参数的赋值过程,在b.xls的代码中调用这个过程,参数用你要赋给aa的值。具体如下:

'a.xls工作薄中vba标准模块中代码:

Public aa
Sub Setaa(x)
aa = x
End Sub

'b.xls工作薄中的代码:(括号中的8就是要赋给aa的值)

Run "'a.xls'!setaa(8)"

回答2:

这样:
在a.xls工作薄中vba标准模块中代码:
--------
Public aa
Sub iTest1()
aa = 5
End Sub

Sub iTest2()
MsgBox aa
End Sub

-----------
在b.xls工作薄中vba标准模块中代码:
--------
Sub iTest0()
Dim bk As Workbook: Set bk = Workbooks("a.xls")
Run "'" & bk.FullName & "'!iTest1" '赋值
Run "'" & bk.FullName & "'!iTest2" '测试aa值
End Sub