ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-1-29 13:56 | 显示全部楼层
本帖最后由 时光鸟 于 2013-1-29 14:39 编辑
香川群子 发表于 2013-1-29 09:56
发这个帖子的原因,在于前几天,有一个初学者提出疑问:
【顺便提问:所有的书包括本论坛都说要定义变量, ...

楼主有这样的观点,我能理解,所以也并不反对。
但楼主以此来否定或攻击某某书的作者,我觉得有点过!
作为一门语言,变量、常量、类型等等这些都是最基本的知识,是必须掌握的!
作为书籍教程,肯定也是遵循着这样一个常规逻辑,就像程序员必须学好数据结构、计算机结构、操作系统、编译原理、软件工程等等课程一样,系统化地循序渐进,尽管入门可能慢一点,但后续进步是比较扎实的。
如果谁要像楼主那样抛开常规走捷径来入门也是可以的,也可以不用学那些枯燥的基础知识直接学C++,.net之类的,但显然这不是一个优秀的程序员应该走的路,所以否定常规是不可取的。

以上仅个人看法。

点评

“否定常规是不可取的”,此句铿锵有力,掷地有声!  发表于 2014-9-17 21:29
学VBA的程序员?还真没见到过几个,单位里的IT都不会VBA,VBA就是给专业人员解决工作中的小问题的,所以想当优秀程序员的不应当在这讨论了  发表于 2013-1-30 11:53

TA的精华主题

TA的得分主题

发表于 2013-1-29 14:03 | 显示全部楼层
恩,关键是回帖的都不是初学者。呵呵~
我个人还是喜欢定义变量,因为这是一个习惯,其次在比较大的程度里。如果没有定义,维护起来可能会不怎么方便。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-1-29 16:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
时光鸟 发表于 2013-1-29 13:56
楼主有这样的观点,我能理解,所以也并不反对。
但楼主以此来否定或攻击某某书的作者,我觉得有点过!
...

对于一个并不想成为程序员的VBA宏代码实用爱好者,

你是否可以回答他一句:是的,你不用定义变量也可以运行代码。


如果答案是【yes】,那就OK了。

因为我只是指出这一个事实。

按照逻辑,除非我提出了【任何人都不应该使用dim语句来定义变量和定义变量类型】这样的极端观点,
那么你们的态度才是可以理解的。

所以,你们目前所持的否定态度,已经是过多地、错误地解读了我的观点。




评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-1-29 16:17 | 显示全部楼层
香川群子 发表于 2013-1-29 16:12
对于一个并不想成为程序员的VBA宏代码实用爱好者,

你是否可以回答他一句:是的,你不用定义变量也可以 ...

你似乎对我的观点在避重就轻,我的观点主要集中在:
楼主有这样的观点,我能理解,所以也并不反对。
但楼主以此来否定或攻击某某书的作者,我觉得有点过!

点评

对于学习VBA的编程入门者,确有不少书的作者用楼主的评价是很合适的  发表于 2013-1-30 11:55

TA的精华主题

TA的得分主题

发表于 2013-1-29 16:26 | 显示全部楼层
时光鸟 发表于 2013-1-29 16:17
你似乎对我的观点在避重就轻,我的观点主要集中在:

因为书籍的作者显然不仅仅是为了训练一个业余爱好者为目的的。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-1-29 16:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
时光鸟 发表于 2013-1-29 16:17
你似乎对我的观点在避重就轻,我的观点主要集中在:

那么,为什么书本的作者,不能客观地说明这个明确的事实呢?


非要认为Dim语句是必须使用的,这样的观点不科学。


尤其是,限定于VBA一般宏代码运用时,
对于初学者来说,dim语句的学习阶段应该是被延后甚至取消。

到了中级以后的阶段再开始学习也不迟。


这个才是我的重要主张。


……………………

备注:
这里论坛里很多【新手级别】的,或许已经是水平很高的程序老手了。

所以,不用他们来提供dim 变量有多重要、有多好的例子了。
本帖实际上和他们无关。仅仅针对真正刚入门的VBA初学者,提供一些参考意见。

点评

本帖更多的是关于VBA的学习方法的讨论……感觉……  发表于 2014-9-17 21:32

TA的精华主题

TA的得分主题

发表于 2013-1-29 17:37 | 显示全部楼层
香川群子 发表于 2013-1-29 16:31
那么,为什么书本的作者,不能客观地说明这个明确的事实呢?

你在这里说“Dim语句的学习阶段应该是被延后甚至取消”,那究竟是延后还是取消呢?这是两个不同概念,无法同时存在。

如果你觉得取消才是正道的话,那就是意味着你写任何的程序代码都不需要Dim,因为根本就没有学习变量的阶段,如果是这样,那么请你写一个超过5000行的程序代码,并且保证你绝对不会因为手误而写错任意一个变量。

如果你觉得是延后,那么怎么理解你前面所说的是“彻底打倒学术权霸的形成的错误概念 → 【定义变量和定义变量类型是个好习惯】”。这里是不是有些逻辑混乱?

点评

写5000行代码不是初学者的工作,甚至不是VBA的工作。  发表于 2013-1-29 19:46

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-1-29 18:40 | 显示全部楼层
香川群子 发表于 2013-1-29 16:31
那么,为什么书本的作者,不能客观地说明这个明确的事实呢?

我回帖的目的不是反对楼主的主张,同时对楼主的主张也不存在误解,更不存在不理解。
本来是不想回这个贴,因为口水贴毕竟意义不大。
不管对书的作者的观点多么不赞同,就事论事、各唱各调也就罢了,语法就是标准,只要编译不出错,那就是语法认同的,也没必要非要强求一定要怎么样。兼容并包也是我的主张,与楼主的观点没有多大分歧。仅此而已。
我只是不认同楼主对某书作者的过激言论,这显然不是观点上的问题了,也是无关学术、无关对错的问题。所以也就回了。
到此为止吧。。。

点评

群子刚柔相济,大侠风范!  发表于 2014-9-17 21:35
我收回我的不当言论。  发表于 2013-1-29 19:45

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-1-29 19:17 | 显示全部楼层
看来我中毒之深已无可救药啦~~

点评

你当然中毒很深啦……因为你是专家级别的。  发表于 2013-1-29 19:48

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-1-29 19:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
chentx 发表于 2013-1-29 17:37
你在这里说“Dim语句的学习阶段应该是被延后甚至取消”,那究竟是延后还是取消呢?这是两个不同概念,无法 ...

你对我的误解仅仅是缺少一个重要条件:

VBA初学者 → 引申为初学阶段

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

本版积分规则

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

GMT+8, 2024-12-23 06:14 , Processed in 0.043024 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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