|
本帖最后由 永远的船长 于 2019-3-14 16:22 编辑
举例:文件2的宏2 ‘在personal.xlsb文件中
sub 宏2
dim x
x=selection.row() '选中的行为第四行,x=4
end sub
在文件1新建宏1
sub宏1
Application.Run "personal.xlsb!宏2" ‘运行文件2的宏2,将运行变量的结果传到文件1中的宏1
range("a1")=x ’这样文件1的宏1有自变量=宏2运行的结果
end sub
问题,怎么在宏1没定义的时候,把宏2的x转到宏1。
因为好多写模板都用到相同变量,比如文件地址x,文件名称y,选中单元格行,列等,每次重复dim和取数比较麻烦,
我设想在workbook的personal里面写个通用的sub 模板宏(),dim x,y等,把通用的变量都定义好,
新建一个worlbook-文件2,需要用到x,y,直接call personal就行,把运行的变量传到新写workbook-文件2的vba,也不用再定义xy等,直接用,不知道如何实现,目前学会同一文件下的不同宏传导,但是不同文件不好用,请高人指点下。。。
具体是
文件1中的宏1不用自定义x,y,而其他文件如personal/文件2中的宏2,宏2已经自定义的x及数值,直接运行宏2就可以,问题是运行完宏2,怎么传导宏1,让x有数
(背景:personal有个宏模板,已经自定义了一些基本参数,比如文件的地址x1、名称x2、选中单元格的行x3、列x4等信息,所以再写vba的话,直接用里面的x1或者x2,不用再定义x1或则x2,让personal里的x1或者x2传到当前宏里,只要直接用就可以了,不用再去写取数sub)
可在附件文件演练
|
|