只需一步,快速开始
6楼的办法与是否定义static变量没有任何关系
难道VBA中的static没有任何作用?
使用道具 举报
变量的作用域的问题.
你在主函数里声明静态变量,其做用域仅为主函数内有效.静态变量只是不在该函数中时,内存中仍有该变量的空间保存其值,只是能全局存其值,并非能全局用其值,想用必须通过函数传递.子函数中引用的变量虽然变量名相同,但其为一个新变量,并非主函数静态变量的引用.做为新变量,根据VB的内定规则,其为空值.
你在模块上方声明 Option Explicit 要求强制变量声明就会明白是怎么回事了.
Public cnPublic cnSub n()Static cn '在该过程中又重新定义了一个叫cn的变量,在该过程中它将优先被使用.(变量名冲突)kl= 111cn = kl '对该过程重新定义的cn赋值,而不是给Public cn赋值,所以Public cn依然为空.
Call m()End SubSub m()Dim ssss = cnEnd Sub
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-11-26 20:35 , Processed in 0.221740 second(s), 17 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.