Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 水中游

[已解决]excel宏多个模块如何定义同一个全局变量

[复制链接]
发表于 2014-11-5 15:51 | 显示全部楼层
本帖最后由 qh8600 于 2014-11-5 15:54 编辑
水中游 发表于 2014-11-5 15:34
全局变量是用 Public sj As Date  这个吗?

abc三个模块不是同时使用的,三个模块有不同功能,每次只使 ...


发个附件看看,这样老是猜,也猜不到
看你的代码是一样的,不知道你是传递变量呢,还是传递参数调用子过程
回复

使用道具 举报

 楼主| 发表于 2014-11-5 15:59 | 显示全部楼层
Select 发表于 2014-11-5 14:30
还是等看了附件,理解了需求,再看吧。
附件需要先压缩,不能过大,多试下上传看看?

excel文件上传时只能上传sheet1、sheet2、sheet3这里面代码吧,模块里面的是不是不能传呢?

模块里面代码比较多,其他没问题,就是一句变量有问题,我简化下,把模块abcd分别放到,sheet1/sheet2/sheet3/sheet4表里面了,实际是在模块里面

大概就是三个模块,每个模块有不同功能, 需要哪个功能就运行哪个模块,不同时运行的,都会调用3个模块以外的一个模块
在abc之中一个加上Public sj As Date,这个一个能用,如果有2个以上加后,哪个都不能用了





模块.zip

11.31 KB, 下载次数: 4

回复

使用道具 举报

发表于 2014-11-5 17:11 | 显示全部楼层
水中游 发表于 2014-11-5 15:59
excel文件上传时只能上传sheet1、sheet2、sheet3这里面代码吧,模块里面的是不是不能传呢?

模块里面代 ...

不知道要实现啥。插入模块,把代码写入模块中

评分

参与人数 1 +1 收起 理由
水中游 + 1 就是实现传递变量,原来单个表也可插入模块.

查看全部评分

回复

使用道具 举报

发表于 2014-11-5 17:16 | 显示全部楼层

Sub 模块a()
Call Sheet4.模块a(Range("b1").Value)
End Sub

Sub 模块b()
Call Sheet4.模块a(Range("b1").Value)
End Sub

Sub 模块c()
Call Sheet4.模块a(Range("b1").Value)
End Sub

Sub 模块a(sj)
Range("a1") = sj
End Sub



因为还是不了解实际需求,所以无法知道这样改是否合适。 模块2.rar (13.25 KB, 下载次数: 9)

评分

参与人数 1 +1 收起 理由
水中游 + 1 需求就是让a、b、c单独使用时都可传递变量给.

查看全部评分

回复

使用道具 举报

发表于 2014-11-5 17:28 来自手机 | 显示全部楼层
通常,我是尽可能避免使用公共变量的
回复

使用道具 举报

 楼主| 发表于 2014-11-6 09:19 | 显示全部楼层
本帖最后由 水中游 于 2014-11-6 09:46 编辑

a、b、c三个模块不是同时使用的,可能今天使用a模块调用d模块,明天使用b模块调用d模块,后天使用c模块调用d模块
实现需求就是,怎么让abc的三个模块单独使用时都可传递变量给d模块,abc三个模块不会在同一天同一个文件使用的

表达不清楚实在麻烦2位老师了

a、b、c三个模块都是电脑本地公共模块,不是哪个excel里面的模块,不知道是不是这个原因三个模块不能都设置一个相同全局变量

模块1.zip

10.93 KB, 下载次数: 8

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-8 11:41 , Processed in 0.147639 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表