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

a.xls工作薄中vba标准模块中有变量“aa”,如何在b.xls工作薄的vba标准模块中写一段程序代码,执行后可以给a.xls工作薄中vba标准模块中的变量“aa ”赋值,让aa=8。

将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)"
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-14
这样:
在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追问

为什么用FullName,这个是什么意思,语法是怎么样的?

本回答被网友采纳
相似回答