ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 香川群子

[分享] 面向VBA初学者→ VBA代码中有关【变量】的误区

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-2-1 08:51 | 显示全部楼层
老鸟、菜鸟是个糊涂的说法
本人刚进EH时,连VBA基本语句都看不懂,我也不是学软件的
但只要有动力,掌握VBA可以很快。在读帖和讨论中,得到过香川群子、Zamyi等先贤的帮助,一直心存感激
但是,在后来学习类模块等编程技术时,发现之前养成了一些不好的习惯,常常使得编码莫名其妙的出错
像我们这种草莽出生的,往往是东一耳朵、西一耳朵的学习,不系统。在自己专业内,我知道什么是正规的规范的,知道怎么简化怎么偷懒。当我完全不知道VBA内在逻辑时,差不多都是照抄,分辨不出来哪些是规范合规的,哪些是在偷懒。以至于后来深入学习时候,不得不改习惯!
在网学习,可以这么说,成也萧何、败也萧何。

点评

“先贤 指已故的有才德的人, 称谓前面加"先",表示已死,用于敬称地位高的人或年长的人。”  发表于 2014-9-17 23:01

TA的精华主题

TA的得分主题

发表于 2013-2-1 08:59 | 显示全部楼层
lee1892 发表于 2013-1-31 23:05
这个论坛的管理人员非常奇怪,碰到这种有很大争议的话题,一个有正常逻辑的论坛管理人员应该是站在完全中 ...

非常有道理
一方面,“我不同意你的观点,但坚决捍卫你发言的权力”。对于没事找事,动不动投诉的、搅和的,作用是加速论坛的死亡
另一方面,这个帖子在VBA板块中能引起新老坛友、论坛管理者的这么关注。多少给人一种美人迟暮、徐娘半老的无奈。但愿都能有清醒的头脑!

TA的精华主题

TA的得分主题

发表于 2013-2-1 10:17 | 显示全部楼层
编程是为了高效、快速、无误、容错、易调试维护、易扩展功能等多方面的解决实际问题,实现编程初衷和目的。
不管白猫黑猫,抓到老鼠就是好猫-----当然,也有一小时抓十个大老鼠的,也有一天才抓两个小老鼠的,那是水平问题,但都能吃饱就OK了。
初学者的要求是什么呢:易学、易理解、易调试,不出错就行了。都说,编程不难,难的是容错与调试。所以,适当地认识与理解变量对初学者还是有帮助的。

TA的精华主题

TA的得分主题

发表于 2013-2-1 10:38 | 显示全部楼层
香大侠的这段话用意非常明确,即针对VBA初学者而言,并不泛指所有软件设计人员,大侠的用意非常明确,即尽快让初学者入门,学会走路,然后才是跑。这种石破天惊的论点,个人认为是打破教条,敢于创新的培训思路,很值得推广。

点评

你说反了,裙子的意思应该这么理解:让没入门的童鞋先跑起来,然后在回头看看鞋跑掉了没有,哈哈  发表于 2013-2-1 15:32

TA的精华主题

TA的得分主题

发表于 2013-2-1 10:47 | 显示全部楼层
chentx 发表于 2013-1-29 11:01
这样说就太绝对了,如果一开始就没有好的习惯,只会对以后的学习带来恶果,有没有声明变量绝对会对程序带 ...

我觉得你说的挺对的 我现在就是个初学者 才开始进行变量的学习 就无意中看到这个帖子 我此刻确实没有任何辨别能力 所以只能循规蹈矩的从变量的基本知识学期 这也确实对于我理解代码有帮助 所以我也非常不赞成楼主的观点

TA的精华主题

TA的得分主题

发表于 2013-2-1 11:50 | 显示全部楼层
本帖最后由 xuex123 于 2013-2-1 12:16 编辑

我和我的几个网友属于偶尔到这里一游的人,看了精华帖总要关注一下,1楼给予评分的人确实奇怪,
我呢对于EXCEL是外行,我搞C+编程和手机写程序,
我的几个网友是搞其他编程语言开发的,对EXCEL也有很高的造诣,他们不赞成版主和有些人的高论,
编程的规范要讲的,规范不等于抹杀创造,对于EXCEL还好,其他的编程语言开发的代码要进行维护的,
我对于下面的的老先生的东西和ldhyob的东西 很佩服
http://club.excelhome.net/forum.php?mod=viewthread&tid=954291&page=1#pid6543570
http://club.excelhome.net/thread-115988-1-1.html
我们在虹口区有个交流群,几个人交流合伙搞开发,
我现在对EXCEL有点兴趣,因为日常有时要用的,正在和朋友学习EXCEL函数和vba
我的几个朋友说,社会上高手很多,他们一般到国外网站交流,偶尔到这里一游觉得这个贴子很奇怪,




点评

庶民的狂欢而已。 不会影响你们这些精英的。 天不会塌下来,何必如此悲观?  发表于 2013-2-1 14:35
2013第一奇葩贴  发表于 2013-2-1 12:33

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-2-1 14:32 | 显示全部楼层
xuex123 发表于 2013-2-1 11:50
我和我的几个网友属于偶尔到这里一游的人,看了精华帖总要关注一下,1楼给予评分的人确实奇怪,
我呢对于E ...

Excel等的VBA应用程序中,
编写代码时不需要定义变量也能正常运行。

这个当然不能因此而彻底否定定义变量的好处和作用。

但是,对于初学者来说,甚至于对于大部分用户来说,
终其一生都不怎么规范化地去定义变量而照样能够使用VBA宏代码提高工作效率。

这个应该是可以的,并且毫不可耻。


我所希望的,正是建立这样一个价值标准。
而不必对于每一个想要入门的VBA初学者,都先要强调定义变量的重要性和道德正确性。

不使用定义变量的习惯,并没有任何不道德,不需要内疚或者认为羞耻。

……
至于你们这些编程工作者,或编程爱好者,
我所说的一切无论如何不会影响你们的好习惯的。所以你们又担心为何?


或者真的认为,如果大部分初学者不从一开始就认真学习如何定义变量,
就会大大影响中华民族的崛起和科学创造力?! 这个帽子是否太大?




TA的精华主题

TA的得分主题

 楼主| 发表于 2013-2-1 14:38 | 显示全部楼层
看到一些有编程修养的专业人士非常愤怒的回帖,

我也很郁闷。

如果有人不想学好,不想成为高级编程人才,就希望快乐地享受Do it yourself的VBA简单编程乐趣,也不可以么?


点评

那你就别提打倒呀!让人笑话  发表于 2013-2-1 14:45

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-2-1 14:41 | 显示全部楼层
总之,既然VBA给了大家不定义变量也能写代码运行的权力,

我们就可以这么去做。


专业编程不是我们的人生目标。


我想,VBA爱好者中,至少80%不会去做职业编程的工作。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-2-1 14:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
当然,其实我从没有反对适当地定义变量。

尤其是,随着每个人对VBA代码的知识经验的提高,
掌握必要的变量定义方法和知识似乎也是自然的事。

即使这个过程中也会产生失误,
但我从不认为一个初学者能够因为一开始就坚持了定义变量的好习惯,
就能避免今后遇到变量定义失败的陷阱。

→ 说实话,只有自己尝试并失败过,才能加深对错误的理解和认识,
真正掌握定义变量不产生错误的技巧。

这个应该不是初学者肯学、想学就能马上掌握的。


点评

你把这段话放到1楼吧  发表于 2013-2-1 14:51
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-22 18:12 , Processed in 0.041962 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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