vba中变量作用域
|
全局变量例子 模块级变量例子 |
我有a、b、c三个宏模块,每个里面都有一个变量 dim sj as date, 这三个模块使用时都会调用另外一个模块d模块,怎么才能a、b、c每个模块调用d模块时,都能把变量sj传递到d模块呢?
我现在a模块sub 上面最上一行 写上Public sj As Date 后,a模块运行sj变量可以传递到d模块
当我把a、b、c每个模块sub上面最上一行都加上Public sj As Date 后,每个模块运行到d模块后,就会出错,提示:发现二义性名称
请问各位老师,该怎么弄才能让a、b、c三个模块sj变量都能传递到d模块呢?
最后总算解决了:abc三个模块,不管哪个模块,运不运行,只需在任意一个(也只能一个)上面加个全局变量 Pablic就可以了
我是2个以上模块都加了相同的全局变量出问题的。
模块级变量应该放在本模块的最上端,不是在过程中,下面两句会出错
Dim x As String
x = "user"
如果该模块为标准模块,可以这样试试:
Dim x As String
Sub auto_open() '打开工作簿自动运行
x = "user"
End Sub
Sub abc()
MsgBox x
End Sub
vba中变量作用域的更多相关文章
- 控制器controller与指令中的link、controller中变量作用域的关系
angjualrjs中的作用域与原生js中的函数嵌套原理一致,都是存在作用域的继承.若在子控制器(同样包括在指令中的link或是controllerding中定义变量,此时指令中必须未使用scope独 ...
- C/C++语言中变量作用域:局部变量,全局变量,文件级变量
C/C++语言中的变量分为全局变量和局部变量. 这样的划分方式的根据是变量的可见范围或者叫做作用域. 1 局部变量 局部变量指的是定义在{}中的变量,其作用域也在这个范围内.尽管常见的局部变量都是定义 ...
- H5 Canvas | 画布中变量作用域与setInterval方法同步执行探究
Demo - 随机绘制圆环 实现思路: 将一个圆环的绘制分成100份,setInterval()方法定义每隔时间n绘制一段新的,每份的开始路径都是上一次的结束路径,实现步进绘制. 通过Math.ran ...
- erlang中变量作用域
http://erlangdisplay.iteye.com/blog/315452 _开头(包括_)在erlang可以是表明,这个变量可以存任意东西,就是我们常说的全匹配,_A一般来说就是表明这个东 ...
- Python3中变量作用域nonlocal的总结
最近,在工作中踩到了一个关于Python3中nonlocal语句指定的变量作用域的坑.今天趁周六休息总结记录一下. 众所周知,Python中最常见的作用域定义如下: 但是,为了更加方便地在闭包函数 ...
- Javascript中变量作用域(2)
多层函数调用取变量时,无论在哪里调用,要到创建此函数的作用域中取值,如果找不到再往上一级,直到全局变量. 外面定义了很多的全局的变量,下面我们来一个个理一下. 定义三个变量a,b,c;将A1函数赋值给 ...
- Go中变量作用域的小坑
直接上一实例: package main import "fmt" func main(){ fmt.Println("for start") ; a < ...
- jsp 中变量作用域:pageScope、requestScope、sessionScope、applicationScope
jsp 中,变量的作用域,一共有4种: pageScope:表示变量只能在本页面使用. requestScope:表示变量能在本次请求中使用. sessionScope:表示变量能在本次会话中使用. ...
- 浅谈javascript中变量作用域和内存(1)
先理解两个概念:基本类型和引用类型的值 1.基本类型和引用类型的值 (1)定义: 基本类型:指简单的数据段,比如按值访问的js五种基本数据类型undefined.null.boolean.number ...
随机推荐
- Unicode编码字符范围和具体文字
1)标准CJK文字 http://www.unicode.org/Public/UNIDATA/Unihan.html 2)全角ASCII.全角中英文标点.半宽片假名.半宽平假名.半宽韩文字母:FF0 ...
- Python: subprocess.Popen()不支持unicode问题解决
起源: 所下载视频,有音视频分离者,需要合并起来,采用python之subprocess.Popen()调用ffmpeg实现.python版本为2.7.13,而音视频文件路径,有unicode字符者, ...
- 36-2018 蓝桥杯Java B组试题及答案
1:第几天2000年的1月1日,是那一年的第1天.那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容. 用excel算,答案125. 2.标题:方格计数 ...
- Xshell无法使用root远程登录Ubuntu16服务器
修改/etc/ssh/sshd_config文件,把PermitRootLogin Prohibit-password 添加#注释掉 新添加:PermitRootLogin yes 2. 重启ssh服 ...
- 无法连接到localhost。其他信息:用户“sa”登录失败。原因:该用户被禁用。(Microsoft Sql Server,错误:18470).
18470错误: 解决方案: 使用windows身份验证登录之后,选择安全性--->登录名--->sa--->右击--->属性: 右击选择属性进入属性页面: 选择状态,然后再登 ...
- hangfire enqueued but not processing(hangfire 定时任务入队列但不执行)
不生效的方法 //RecurringJob.AddOrUpdate<FamilyAppService>((s) => s.UpdateFamilyLevel(), input.Cro ...
- js文件,同样的路径,拷贝过来的为什么不能访问
从解决方案管理器中拖过来的可以直接访问,而从 bundleconfig中拷贝过来后修改的就访问不到. 如下: 引用一: <script src="~/Content/Plugins/j ...
- VSS源代码管理器运行代码分析工具的命令
当你发现代码库总是报需要联系管理员运行代码分析工具时,你可以使用命令分析代码库代码解决: To fix the database problems, you can restart the analy ...
- find和find_if,value_type
find算法:返回 [first,end)中第一个值等于value元素的位置 线性复杂度:最多比较次数:元素的总个数 find函数的最后一个参数,必须是string,float,char,double ...
- 案例情景--在一次Oracle 数据库导出时 EXP-00008;ORA-00904:EXP-00000: oracle不同版本导入导出规则
案例情景--在一次Oracle 数据库导出时: C:\Documents and Settings\Administrator>exp lsxy/lsxy@lsxy_db file=E:\lsx ...