ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH云课堂-专业的职场技能充电站 Excel转在线管理系统,怎么做看这里 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 EH云课堂直播课程免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 1481|回复: 4

[原创] 代码存放!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-7-4 11:20 | 显示全部楼层 |阅读模式
代码存放
对于初学者来说,代码放在什么地方,大多数都是有点稀里糊涂的!今天闲来无事,便和大家一起讨论一下代码存放地及其作用和限制。首先声明:本人纯属自学,读书时没有学过VB。若有缪误,欢迎指正,共同进步。
对于初学者,一般都是录制宏,可是点击录制的时候,便会弹出一个对话框,要你做出选择,代码放在什么地方?如图:
222.png

本视图是2010版本的截图,版本不同,稍有不同。大凡都是供录制宏者选择代码存放处。系统默认代码存放在当前工作簿,这也是用的最多的。顾名思义,就是把代码存放在当前工作簿中的模块中。作用范围也就随之确定了,只作用于当前工作簿。这里要解释一下“当前”这个词,这里的“当前”即“激活”工作簿,而不是指固定的同一个工作簿。当你打开多个工作簿的时候,就好理解什么是当前了。这时候代码不仅仅作用于代码存放的那个工作簿,而是作用于“激活”的工作簿。录制完后,可以按Alt+F11进入VB编辑器(即代码编辑窗口),工程窗口便多了一个模块1,双击模块1,就可以看见刚才录制的代码了。这时后新建一个工作簿,运行刚才录制的宏,就能深刻理解“当前”的含义了。
如果录制代码时你选择了“个人宏工作簿”,录制完后,系统会新建一个工作簿,工作簿名称是PERSONAL.XLSB,是一个隐藏的工作簿,它有一个特性,就是你启动excel的时候,它会随之启动,并且是隐藏的,只提供代码存放处。代码放在这里有一个好处,就是对所有工作簿都可见(public),即所谓的代码可见性。可以提高代码的利用率。这时候就要代码的通用性强,即移植性要好。这个“PERSONAL.XLSB”保存在:C:\Users\Administrator\AppData\Roaming\Microsoft\Excel\XLSTART文件夹中。
与其有类似功能的就是加载宏工作簿,存放在它里面的代码也是对所有工作簿可见。他们的区别如下:
第一,                 个人宏工作簿只能保存在特殊位置,而加载宏工作簿可以保存在任何位置。
第二,                 扩展名不同,个人宏工作簿扩展名是“.xlsb”,而加载宏工作簿扩展名是“.xlam”。
第三,                 个人宏工作簿无需额外处理即可随之excel的启动而启动,而加载宏工作簿必须安装才能达到同等效果。
第四,                 个人宏工作簿没有办法看见工作表(高手不知道行不行,目前我还不行),而加载宏工作簿只需修改工作簿IsAddin属性值修改为false,就可以看见工作表了,可以把一些公共数据存放在里面。
以上都是代码存放在工作簿中的标准模块中,除此以外代码还可以存放在工作簿中的工作表模块中,如工作表事件代码。当然也可以存放一般过程代码。但是在工作表模块中的代码只对该工作表可见。如果其他工作表要引用该工作表中的过程,就必须加父对象应用。如sheet1.test格式引用。
如果你熟悉VBA以后,你会发现代码还可以存放在类模块中。

TA的精华主题

TA的得分主题

发表于 2016-7-4 14:07 | 显示全部楼层
我用2003版。我测试了一下,录制宏,个人宏工人簿是被隐藏的,在Excel菜单栏  窗口菜单里取消隐藏,即可把个人宏工作江簿显示出来。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-7-4 14:57 | 显示全部楼层
张三李四 发表于 2016-7-4 14:07
我用2003版。我测试了一下,录制宏,个人宏工人簿是被隐藏的,在Excel菜单栏  窗口菜单里取消隐藏,即可把 ...

是的,2010的也可以取消隐藏,我刚才试了一下!谢谢!!!

TA的精华主题

TA的得分主题

发表于 2017-5-28 18:28 | 显示全部楼层
ctp_119 发表于 2016-7-4 14:57
是的,2010的也可以取消隐藏,我刚才试了一下!谢谢!!!

QQ答案QQ答案QQ答案QQ答案QQ答案

评分

参与人数 1财富 -5 收起 理由
ctp_119 -5 不要灌水

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-6-2 10:13 | 显示全部楼层
张三李四 发表于 2016-7-4 14:07
我用2003版。我测试了一下,录制宏,个人宏工人簿是被隐藏的,在Excel菜单栏  窗口菜单里取消隐藏,即可把 ...

窗口菜单找不到这一项设置,菜鸟求指教!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

关注官方微信,每天学会一个新技能

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2019-12-10 18:24 , Processed in 0.432430 second(s), 23 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

沪公网安备 31011702000001号 沪ICP备11019229号

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师

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