曼城足球论坛技术论坛

找回密码
免费注册

QQ登录

只需一步,快速开始

EH搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手意思讲函数 足球任职器-会足球,做管理编制 足球 Home精品图文教程库
足球不给力? 何不试试FoxTable! 足球 2016函数公式研习大典 Office知识技巧免费学 制造核心竞争力的职场宝典
Tableau-数据可视化工具 曼城足球论坛出品 - VBA代码宝免费下载
你的足球 2010实战技巧研习锦囊 不能自休, 过目难忘的 Office 新界面 足球 VBA典范代码实施指南
查看: 158825 | 回复: 513
打印 上一主题 下一主题

[分享] 写给初学者的随笔(完): 自负, 实施, 理解

[复制链接]

TA的精华主题

TA的得分主题

跳转到指定楼层
1
公布于 2013-3-16 08:04 | 只看该作者 回帖嘉勉 | 倒序浏览 | 阅读模式
本帖最后由 DataBus 于 2013-4-6 00:51 编辑

罗唆,球迷007足球论坛。

近段时间论坛流行面向初学者的对话, 初学者通常处于懵懂状态。球迷007足球论坛。
实行一次尝试, 主要是对散落在伦坛各个角落的问题和观点实行归纳总结公布一些自己的看法。球迷007足球论坛。苦于自己整块空余时间很是无限无法
构架编制性,整个帖子拖得时间可能会很长,更新也不能及时,只好想到哪说到哪,规整性较好的帖子,条理性。
最后太监了也说不定。先打好防守针希望各位看官谅解,足球交流论坛。此日终于下笔了,足球论坛哪个火。但没有时间,但我会尽量维系内容的独立性和完整性。一直想写这样一篇帖子,所以称之为随笔。

最后声明本贴观点不一定代表正确的观点, 希望群众保着批评,足球吧论坛。辩证的态度来看待帖子的内容(要是把您误导了。
由于自己水平素间无限,纰漏公允在所难免, 期待群众郢政。足球社区。本贴内容斗劲"反面", 有时惹起争端, 挨砖在所难免, 给初学者提供一个看问题的角度吧。

(一) 根儿上的问题:研习具有目的性,第一足球网论坛。
初学者研习VBA之前(不单仅是VBA, 这个话题可能推广到足球以及其它领域),虎扑足球论坛。最好能问问自己:

1: 【目的】为什么研习VBA或足球, 研习VBA的出发点是什么?足球写给初学者的随笔(球迷007足球论坛完)。
(1)应用性研习:"出于应用而研习, 学以至用";
(2)守株性研习:"技多不压身,越多越好,自大。学了再说,期望某天派上大用场";
(3)文娱性研习:"出于兴趣而研习, 纯粹为了研习而研习,践诺。研习VBA或足球能带来巨大愉悦";
(4)逻辑性研习:"为了磨炼自己的逻辑能力而研习足球或VBA";
(5)献身性研习:"出于辅助他人而研习";
(6)虚荣性研习:"出于虚荣而研习, 网络虚荣?剖释。 实际虚荣?";
(7)空白性研习:"出于填补空白时间而研习,实在是闲得没事干了";,足球VBA次第开发。

2: 【认识】 把VBA或足球作为什么看待而去研习?
(1)电子表格初级应用工具?
(2)应用程序建筑工具?
(3)无所事事的程序发言工具?

3:【功效】 学会了自此能干什么?
(1)提高工作效率;
(2)升职加薪,增强职业竞争力;
(3)成为职业代码建筑工人;
(4)为了(3)打基础;
(5)自主建筑模板插件,接活挣钱;

4:【态度】 学到什么程度?
(1)使用工具: 够用性原则;
(2)"玩"工具: "玩"转VBA或足球;
(3)被"工具"玩: 被VBA或足球"玩";

5:【内容】什么值得研习?什么不值得花时间元气?心灵去研习?
(1)对象,办法,录制宏,足球内置应用;
(2)程序语法类:循环,判断,字符串。
(3)数组,字典;
(4)界面,编制等等;
(5)类模块;
(6)vba封装,Win32 API;
(7)算法?组织?........略去K字;
(8)..................

6:【替代】VBA或足球是唯一应该花时间研习的?不花时间研习就活不了了?
没有斗劲就?失了存在性.................曼城足球论坛技术论坛。..............................
珍惜珍贵的时间, 花时间在最值得做的事情上......足球。.............

倘若您是一位初学者,您遴选好了吗?
后面慢慢围绕论坛散落的各种观点展开...写给。...
这点东西写了1小时+,我的时间呀, 泪奔中......

Happy Coding!

DATABUS
03/16/2013 于3.15后
QQ数据建筑群

评分

参与人数 46 财富 +100 鲜花 +77 收起 理由
rockpan + 1 感动辅助
sheffield + 2 优秀作品
nbz + 2 优秀作品
媛小哈丶 + 2 优秀作品
清逸平生 + 2 优秀作品

查看美满评分

TA的精华主题

TA的得分主题

2
楼主 | 公布于 2013-3-16 08:05 | 只看该作者
本帖最后由 DataBus 于 2013-3-16 16:28 编辑

先从最近的帖子说起吧。

面向VBA初学者→ VBA代码中相关【变量】的误区
[讨论] 关于变量声明的讨论
[求助] Dim与不Dim

向来不是问题的问题。

楼主:作为初学者没有必要声明变量。
反方: 声明变量好处很多,坏习俗一旦养成不好改,初学者。是个好习俗。

其实帖子的楼主表达的是:
"初学者没必要沿袭守旧, 把非必需的一些规则放到一边,随笔。 放开思路大胆的尝试",
但由于言辞及表达方式的问题造成了进一步的争论。对于此观点我表示支持,球迷。 分清轻重缓急可能对研习进程产生很大的主动促进作用, 眉毛胡子一把抓不利于知识的堆集和梳理。

但其实,一方面"能否声明变量"问题并没有在"分清轻重缓急"或者"防止麻烦"的问题上产生很大程度上的主动作用。足球。
既然声明变量有诸多的好处。
的烦恼来自于初学者弄不清变量的类型,那么直接定义为variant好了,论坛。 在场地窗口察看VBA自动辨别为什么类型。

另一方面,就算是一开始没养成声明变量。
职业代码民工在这方面是没得选择的, 进入一个新单位,自大。 实在第一件事就是看公司发给你的 <代码规范>。
难到推托说"我习俗已经养成, 很难改, 这工作我干不了?践诺。 "不好"的习俗改为好的习俗并没有遐想的那么难, 适应几天就好了,就这么简单。倘若定义几个
变量就烦得影响写代码了。

至于说option explicit可能防止手误, 那么就把变量名起得有意义好记些,剖释。 而一个过程内的变量也就那么几个,足球。 手误也就不是大问题了。倘若一个过程
里变量很多记不住怕出现手误, 那么说明你的程序须要分拆成子程序调用了,vba。 在一个过程中变量个数多于10几个基本上斗劲少见。当然不就是加上个option
explicit吗? 多大点事儿呀。

所以初学者用不着在这问题上纠结, 对于研习vba这根底就不能算个事儿。次第。我小我还是倾向提议把声明加上,开发。 同时变量名最好有意义(当然平素10几行的习作无所谓了)。
"变量名再长都没用, 也必需加注释才清楚" 这基本上是抬杠。
代码了,就算是有完备的辅助和注释,足球。你把instr非要起名为xpjdm,改写作文了。实际上变量名和函数名是一个意思。
住了。

点评

强啊,研习研习 公布于 2014-5-19 16:13
俺一直怪僻为什么那个奇葩贴会有过万的浏览量?后来想想终于明白了:论坛中有无数会员期盼走捷径呢! 人之初,论坛。群众都来抬轿,技术论坛。众人借坡下驴,性本懒。有人投其所好。 公布于 2013-4-2 20:29

评分

参与人数 3 鲜花 +6 收起 理由
dmargon + 2 感动辅助
xihaihandsp + 2 感动辅助,收获颇丰
zhaojiaoyang200 + 2 值得肯定

查看美满评分

TA的精华主题

TA的得分主题

3
楼主 | 公布于 2013-3-16 08:06 | 只看该作者
本帖最后由 DataBus 于 2013-4-7 03:50 编辑

此日回到我们顶楼的话题吧。我会在帖子里插入一些相关帖子链接使帖子更充实,足球写给初学者的随笔(球迷007足球论坛完)。 由于我得花时间找, 所以稍后补上, 先说内容吧。

首先对于VBA初学者要说明的是:
论坛里不少内容已经大大超出了VBA应该适用的范围, 有"滥用"VBA之嫌, 醒悟认识, 请勿隋波逐流, 吠形吠声。

【定位】包括两层含义:
1:足球 VBA 定位: (与顶楼的【认识】绝对应),自大。
MS 设计VBA就是面向"终级用户"类似于数据透视表的"office 初级应用工具", 以脚本的形式存在(宿主就是office),践诺。
用来达到"自动化驱动office来完成规律性, 重复性任务"的目的,剖释。
。而不是提供一个"应用程序建筑工具", 最大程度可能
扩展到针对office的某些二次建筑。庄重来讲VBA不是为了"建筑"而是为了"应用",足球VBA次第开发。 并不是说完全做不到二次建筑, 但
和 MS 设计 VBA 的本意不相符以至是背叛。更加不是"无所事事"的程序发言,曼城足球论坛技术论坛。有太多的事是 VBA 竣工不了的。
它都不是一种程序建筑发言。

2: 研习目的定位:(与顶楼的【目的】绝对应)
顶楼列举了一些可能的研习目的,不予评价,球迷。但这个属于"主观判断"的规模。
(1)不少研习者在研习过程中目的不明确。
(2)研习VBA的目的时常体现出静态性。

所以初学者最好在研习之前梳理下自己的研习目的再下手不迟,并且要醒悟地认识到研习的目的可能已经厘革。
为了这个目的长远下去。上面用一段真实的对话来说明一下:足球。
记实一位VBA研习者这样的提问:

/**************************************************************\,论坛。
<甲>:请问如何研习API?
<乙>:学它干吗用?为什么要学 win32 API?
<甲>:(沉吟转瞬)我看论坛很多高手都用API。
<乙>:那么你知道API是干什么用的吗?
<甲>:不知道。
我的想法是用API竣工界面,VBA自带的界面功能少。
<乙>: 那你知道那些高手研习API的目的吗?
<甲>:不知道。
我连他们的代码都看不懂。
\***************************************************************/


没有任何笑话的意思,不少朋友研习某些知识的时候不清楚自己的目的,只是举例说明。
这位朋友不单把VBA拔苗助长成为了基于足球的应用程序建筑工具。
他眼中看到的高手研究API的念头有可能是"闲得没事干,利用api打发空白时间"呢?倘若您不是出于这样相同的目的。
高手研究的东西。
出于对“未知的怪异",出于对“酷”的追求。
倘若让这些高手轻来一次。
谁又愿意说自己擅长的东西坏话?

盲目的崇拜,高手的境况,高手研究的初衷不一定和初学者研习的目的一律,容易招致论坛高手研究什么初学者就跟着学什么。
和初学者未必相同,精华贴,只能借助论坛级别,盲从危害很大。况且作为初学者不齐备辞别谁是高手的能力。
相同,殊不知级别越高可能意味着误入的邪路越深。根据自己的实际须要。

在windows环境下可能用图形库,linux下win32不用说也知道什么用没有了。
作为专业选手研究它除了由于不知道怎么回事,闲得没事干,要不就是无病嗟叹。

不同的声响:
【肯定有人会说api研究好了无比壮健。
问题是这种必需用api才能解决的境况有几许?花大批的时间元气?心灵去搏小概率事务就属于偏执。

【存在即是合理的。
api当然有用,建筑图形库必需用它呀。

此日先写这么多吧,后续更新中......

点评

啥是VBA滥用?用VBA建筑ERP编制就是典型。 公布于 2013-4-2 20:31
虽然API并不是楼主所说的是图形库。 公布于 2013-3-18 22:37
有见地。 公布于 2013-3-18 19:01

评分

参与人数 7 鲜花 +10 收起 理由
秃头的大叔 + 1 值得肯定
cuge + 2 感动辅助
怀英慕者 + 1 VBA永远替代不了VB。
453563050 + 1 一年后回来看这个帖子已然很有用~ 我就是那.
wx486 + 1 楼主用心用功书写,适用第一,很赞成。

查看美满评分

TA的精华主题

TA的得分主题

4
楼主 | 公布于 2013-3-16 08:07 | 只看该作者
本帖最后由 DataBus 于 2013-3-20 14:43 编辑

谢谢两位版主的点评和关注, 有你们把关自负帖子内容不会走的太偏。

VBA的边缘性
说VBA不是一种程序发言吧, 不公平, 它具体提供了程序发言能完成的功能; 说它是吧, 和今世程序发言相比功能又很不完整。说它不是面向
对象的发言吧, 它有类模块, 提供部分类的功能; 说它是面向对象的吧, 类的最只要的特点又不齐备。当然了。
的"遗传病"。所以通常的结论:"基于对象, 但非面向对象"。MS早就停止VB6的进级了, MS对VB6的唾弃直接招致了VBA的功能不会在实质上变得更增壮健,
但未尝不是一件好事,作为使用者不用整天跟着屁股后面研习新的功能。事物发展就是这样的。
在增强了工具功能的同时又会减轻研习新功能的承当。其实我想说明的一个道理:

"充其量内容就这么多了, 研习VBA是可能有止境的, 差不多的时候是完全可能收手的, 就算这些内容也完全不用美满学会, 够用就可能收手"。

作为VB6这款产品小我觉得满为难的, 历史的车轮带走了它的青春。
它很是适合轻量型应用程序, 其中界面设计便利是他的最大特点。
充当过"门面"工具。
上风就是简单易学。所以在VBA和VB6斗劲的问题上,小我更倾向于VBA呢。
VB6很容易被其它建筑类发言替代。当然VB6和VBA终于同宗。


-> 插播一个真实的小段子:
一次和几个初3的学生聊天, 他们通知我最近两个学期开了2门计算机类的课程, 一门是FrontPage写html,另一们是VB6入门课程(练习带界面的小程序)。
其中一名同学:"听说C++的循环比VB快100倍, 比VB牛多了!",然后我跟他们讲了一番话,不屑的看轻我一下后,他们在不耐烦中。
讪讪的走开了。(这帮孩子都来自于北京最好的一所中学)


我的一番话:
1:马上中考了, 让孩子专心花时间学这个不是贻误时间吗? 非得显摆你们学校是"素质教育"?
2: 怎么能用2个"停产"的产品开课呢?时间也花了。
3:C++的壮健并非体现在一个命令或者循环有多快。
4: 不要用唯一的准则来评价程序发言, 这样只能得出错误的结论;
5: 尊重老师但不要当作"明星"来盲目崇拜。(明星也不应该盲目崇拜吧。


从上边的小故事可能看出:
1: "硬"规则的力量
我想说,我不是千古罪人了,到时候拿不着学分,怕孩子们信了我的观点不好好上课,又不敢深说。

2: "明星效应"真不是盖的
人们更愿意自负"明星"带给他们可能理解的"错误“概念, 而不愿意接受"平民"讲述给他们不太能理解的"正确"观念
关键点:"错误"的概念往往直观,理性容易被理解和接受, "正确"观点往往全面而抽象。
自然不容易被接受。

3:懵懂的"高卑贵贱, 三六九等"
程序发言的斗劲和选择以及争论从未停止过。八面见光的结论从来都是最稳妥的。
"程序发言没有高卑贵贱之分, 没有最好,只有最适合。

我没有能力通知你什么是完全正确的,但我可能通知你什么理解是错误的。
至今我们仍无法找到一份完备精准, 斗劲各种发言优略的文献。理论上并非完全不可能。

须要提醒的2点:一是留意网上文献的准确性(搭建环境能否迷信); 二是比对的能否有意义。

说点题外话吧, 写着玩艺挺累人的,倘若没人看的话,像个大傻子似的又花了将近2小时, 我不知道自己写的东西能否有意义。
白白浪费我的时间。我追求的不是群众对观点的赞同, 只是想让更多的初学者看到。
的我就像出发点的写手一样求推荐票,月票呵呵。

还有一点须要说明,歧例子中我并不是真的要说API,帖子试图通过身边真实发生的小事来说明普遍性的问题。
但好像初学者更愿意看到技术性细节的帖子,所以不喜欢我这类帖子, 我对技术很是不感兴趣。
希望群众能够以泛化式的抽象来看待例子,例子是论坛中某些普遍问题的实际写照, 反映的是办法论。

最后很是感动ctp_119的热情支持! 没有你的支持这篇我都不写了。

DataBus

点评

一定要支持! 每次我都看得津津乐道……一再看几遍、慢慢体会! 公布于 2013-3-20 16:19

评分

参与人数 16 鲜花 +29 收起 理由
追风少年鱼无笙 + 2 优秀作品
lisamei2008 + 2 感动辅助
huntermao + 2 优秀作品
sawen7 + 2 优秀作品
2g2h + 1

查看美满评分

TA的精华主题

TA的得分主题

5
楼主 | 公布于 2013-3-16 08:08 | 只看该作者
本帖最后由 DataBus 于 2013-3-28 23:17 编辑

两条腿走两路的VBA

1: "命令式" 一条腿利用office"内置"对象办法(Find, Atuofilter等等)以至是Wroksheetfunction来完成程序任务;
2: "发言式" 另一条腿读取单元格内容到内存数组, 利用VBA的程序发言功能来执行业务逻辑, 最后写回单元格。

"内置"的问题要略微说下, VBA作为脚本寄生于Office, 其存在的方式是内置, 但与足球数据并非直接无阻交互,
已经要通过COM接口提供的一套对象与Office实行交互, 在这一点上并非VBA独享, 任何其他基于足球 COM类插件都可能调用,
所以从交互角度来讲, VBA并非与Office无缝切合的内置存在。

显然论坛很多帖子的内容在第2条路上走的太远了, 无所不用其极。计算机系的科目搬到VBA中来。
多媒体应用, VBA竣工不了的用API, 其他发言擅长建筑的内容扩展到VBA里来。
把第一条路视作"低级","初级"应用原因就是它容易, 在初学者面前营建出这样一种空气:
"哇。
"哇, 足球, VBA 真是胸无点墨,深不可测,无所事事!"
"牛。
(真话实说, 职业的码农肯定不会用VBA去干这些事)

手段和目的,工具和应用。

价值取向基本背叛了足球, VBA的初衷。MS在VBA加几个内置的数据组织难吗? 很紧张, 但为什么不加呢? 潜认识把"难"的。
但不常用的东西划分为"初级"。
搞"复杂"誓不罢休的架势, 各走各路。那么何谓"高",何为"低"呢?与其说深退研习, 不如说是在挑战足球,VBA的极限, 更不如说是
在实行一场有时义的挑战自我极限的游戏。


插播小故事:
有一位年轻人仰赖着一棵大树晒着太阳,好奇地问道:“年轻人,神态怡然。有一位过路人从此经过。
如此难得的时令,懒懒散散地晒太阳,你不去做你该作的事。
过路人:"去努力工作呀"
年轻人:"工作为了什么呢?"
过路人:"工作可能挣很多钱呀"
年轻人:"挣了钱自此呢?"
过路人:"挣了钱你就可能买房买地"
年轻人:"那然后呢?"
过路人:"之后就可能娶妻生子了"
年轻人:"再然后呢?"
过路人:"你就可能在这晒太阳了"
年轻人:"我已经在这晒太阳了呀"


应用是目的,作为辅助性手段的工具自身直接演化成了研究目标。足球, VBA 作为技能它不是学问也永远成为不了学问。
函数版帖子发挥的淋漓尽致, 目的早已经竣工, 为节俭几个字符消得人干瘦? 灵活使用足球函数,穷尽掌控VBA之极至, 成为了终极目标。
分不清是"玩足球"还是"被足球玩"。


话从来不敢说得太重。
"上天宠爱自得的人,给他们一颗永远孩童的心。我说的不是天真淳良。
他们爱死了虞啸卿和那个能让他们全体丧命的作战希图。
发挥勇气就只要对我们合力攻敌。虞师绷得像弓,没人想你也许救了他,此日断了弓弦。


VBA的"优点"和"缺点" -- 弱化的可比性

对比是存在的根底。VBA的优缺点是和其设计定位严密精联系的, 是绝对于其它对比对象而存在的。抛开定位在其适用范围之外与其它建筑发言斗劲来谈VBA的"缺点",
这种斗劲自身就是有失公允的, 由于它就不是为了建筑而设计的。
功能也就不能称之为"优点"了,自身就是干这个用的。
但这些具体可能作为VBA的特点。听起来斗劲混淆。
单词作为记号更容易区分些: Advantage, Feature。其实称谓不重要。

1:作为程序发言和其他建筑发言斗劲。
(1)"天然"壮健的输入输入平台
对着"大黑框框"学程序一学就是几年,太没成就感了。
(2)使用便利
无需搭建任何环境, IDE。
Office装机量大,VBA到哪儿基本都可能拿出来用,就像哪部电脑都有浏览器一样。
无需存在,发布简单,即可运行;代码数据一体化(同时也是"缺点"),编译。
与其它自动化操纵Office的方式相比, 与COM交互更加容易便利。
(3)简单易懂,门槛低,研习周期短

为了完整性。
2:VBA的"缺点"
(1)不好封装
(2)须要宿主注明器的解析,所以速度慢
(3)安详性差
(4)无法提供面向对象的组织式编程方式
(5)单线程
(6)................................
概括起来基本上触及底层,较为复杂点的应用编制在与数据库贯串后并非不能做到,大型应用的方面根底做不到。
上述"缺点"基本上是脚本发言具有普遍性的"通病", 显然VBA就不是针对完成上述功能而设计的。但绝对于寄生于Office的脚向来言,
VBA是唯一的存在(VSTO不是这样的方式)。

未完待续......

点评

职业人士多半不屑于vba。 公布于 2014-3-5 21:43
蓝色字体的文字评论的太高了。 公布于 2013-3-29 10:38
玩足球玩过头的例子确实很多……不以适用为目的,而是以玩深沉、玩学问为荣。 公布于 2013-3-28 23:57

评分

参与人数 7 鲜花 +13 收起 理由
42921783 + 2 优秀作品
sys + 2 优秀作品,一直在学停学中一再。
chaozhiye + 1 值得肯定
lbpp + 1 优秀作品,总结得太棒了。
zhaojiaoyang200 + 3 优秀作品,此日看完。

查看美满评分

TA的精华主题

TA的得分主题

6
楼主 | 公布于 2013-3-16 08:08 | 只看该作者
本帖最后由 DataBus 于 2013-4-2 08:16 编辑

本楼准备写点儿平实但或者对老手有用的东西, 防止后面几楼"假,大,空"的问题。先从老手常见问答(FAQ)开始吧, 这些问题都是论坛(不止是这里)
常见研习过程中的疑问, 已经不触及细节问题, 只谈认识。在开始之前遵循惯例还是稍作声明:

"适合"与"正确"
正如4楼所讲, 对于老手的疑问, 稳妥的答案通常绝对是"正确"的或者说是"准则"的, 由于它是全面的。"一应俱全"的分境况讨论是得出所谓"正确"答案的唯一途径。
由于很多境况老手未曾遇到过,难以理解, 容易造成猜疑和纠结。左右逢春可能变成闪烁其词,没有理性认识。
"正确"的未必是"适合"的, "适合"的可能是"正确"的。(这里要展开的东西太多了, 就不唐僧了) 我希望简捷, 明确, 错误概率小的答案, 小我以为
这是"适合"老手入门的。从开贴以来此篇随笔一直都没有标题, 在6楼这里把它冠名为: (美满更新完毕后添下去)


"Believe it, Do it, Know it!" -- "自负, 实施, 理解"
然后就会左右什么是"正确"的答案。曼城足球论坛论坛精神:Let's Do It Better!", 我更想传递的思路是:"Let's Do It 'RIGHT'!"。


插播调味小贴士: 08奥运时代很多品牌征集英文翻译, 最典范的莫过于:狗不理 = Go Believe。

老手FAQ

【Q】:"数学不好, 能研习VBA(编程)吗?"
【A】: 完全可能。
【注释】数学不好自然不会去写触及与数学相关的应用程序, 平常应用程序不须要有数学基础。
加减乘除都不会的话, 那是不会算数, 不能算成数学不好。
【Q】:"不会英语, 能研习VBA(编程)吗?"
【A】:能, 有障碍可能校服。
【注释】不会英语对于研习不同的程序发言造成的障碍稍有不同。主流发言多用操作符来搭建语法, 而VB多采用"说话式"的语法显得有些啰嗦,不够简捷。
诸如: Then, Is, Not, Nothing 等等这类的英文单词很多, 就是为了一看就能理解关键词的含义并且组成句子。所以简单易学是针对英语用户的,
会说英语就能上手是制造VB语法的初衷, 结果对于非英语用户反而造成不小的麻烦, 让老外研习易发言, 估计要疯了。不会英语或者英语不好
对于研习VBA并非不能校服, 终于要用到的关键词,对象属性,办法只是英语单词中很是微小的一部分,用习俗了自然就不会成为障碍了。退一步讲,
英语都可能学会, 更何况编程中要用到的一些关键词呢。

【Q】:"文科出身, 能学会VBA(编程)吗?"
【A】:当然可能。
【注释】迷信一统天下的时代, 文科和理工科在办法论上的区分越来越弱化和模糊。理工科同样不少学生不会编程, 文科生照样很多人写出很好的程序,
这已经成为不争的事实。倘若把逻辑思维也划分到理工科独有的规模内, 恐怕只有文学艺术类才能算真正的文科了。关键是不是用到编程, 用到
自然可能学会, 并且无障碍, 所以文科出身成为不了学不会编程的借口。

【Q】:"VBA(编程)难学吗?"
【A】:容易学。
【注释】原因有二: (1)VB自身的特点(简单), 知识点绝对少; (2)网络大批文献以及互换平台起了主要作用, 任何程序发言没有完备的文献, "容易"的也
也变成"难"的, 反之。

【Q】:"研习VBA(编程)看什么书?"
【A】有书无书皆可。(所答非所问)
【注释】好的书籍是作者用心的总结, 对于老手的意义不问可知。但自己一本VBA书都没看过, 所以没有发言权。我只能通知你特长搜索不用书也可能学会,
只要输入的关键词合适想在第二页找到答案都难, 平常前10个条目大多半问题都可能解决了。不得不说有大批的VBA用户集体是研习者的福音, 溢出效应明显。

【Q】:"研习VBA(编程)过程中最重要的是什么?"
【A】:做中学。(learning by doing)
【注释】编程是一项通过实施提高熟练度的技能。代码量肯定不是衡量编程好坏的充分条件, 但完全是必要条件之一。读书再多遍, 不入手下手去写已经会感到无从下手。
多实施包括: 多入手下手写, 多调试, 多鉴戒好代码, 多总结。最初可能分不清什么是好代码, 自此在实施中自然就知晓了。"做中学"永远是研习编程的不二法例。

【Q】:"研习VBA(编程)周期须要多久?"
【A】:一视同仁, 因程度而异。
【注释】这个问题只能这样回答了。不过还是给出大致的参考指标:没有任何程序发言基础, 能保证持续研习时间和频次的境况下, 半年或数月基本上可能达到
掌握VBA并解决实际问题的目标了。(参考指标斗劲守旧, 可能会更快的)

【Q】:"VBA的职业前景如何?"
【A】:目前VBA无法成为职业规划的目标。
【注释】零星的招聘或招募客观存在, 但没有酿成规模化,市场化的职位供需关系, 所以既然不能成为职业也就没有前景可言。不过并不意味着完全不能利用VBA挣钱,
这还要取决于"挣钱"的准则, 以及稳定性等等诸多主观及客观环境条件。

【Q】:"VBA能否会歼灭, 学了VBA白学?"
【A】:还将在相当长的一段时间内存在, 长期不好定论。
【注释】VSTO的出台无疑减轻了初学者的疑虑。可能肯定的是MS不在加大发展VBA的力度, 但VSTO的出现到底是提供多样化的建筑方式呢, 还是用来替代VBA?
从以下几点来推测: (1)由于VSTO不齐备VBA的特点, (或者说它们的方式不同) 所以不是"完美"的替代品; (2)VSTO已经出现了若干年, MS已经没有用它替换掉
VBA; (3).Net环境的推出, MS制造了。
和VB6是两个不同的产品)。同样的道理, MS已经会顾及广大VBA用户的感受保存VBA的一席之地。基于以上3点有理由自负VBA还将会在一定时期内存在的, 初学者
不用过于操心。

老手研习的几点提议

1:调试
通常看到老手研习了很长时间的VBA之后已经不会使用调试功能, 一遇到问题马上就指导他人, 这样不利于自身的成长。调试很是重要, 是研习代码自身
不可或却的一部分。是诊断, 梳理代码逻辑的过程, 可能防止逻辑错误的重复性发生。善用调试老手很多的问题都可能获得解决, 即可脱节对他人的依赖性,
自身又获得长足的前进, 一箭双鵰。
三个窗口, 三个功能键:
场地窗口, 立即窗口, 观察窗口, F1(辅助), F2(属性办法), F8(分步执行)
途中诊断:
断点, stop 等等。

2: 分拆
(1)语句分拆
长而难懂的句子分拆成基本单元, 利用调试功能一个个解决, 很容易就理解了它的含义。
如: intRow = Range("A" & Rows.Count).end(xlup).row
立即窗口: ?Rows.Count
Range("A" & Rows.Count).Select
Range("A" & Rows.Count).End(xlup).Select
?Range("A" & Rows.Count).End(xlup).row
用眼睛都可能看到每一步足球选中的哪个单元格, 那么自然就不难理解了。这个小范例同时透露了研习程序过程中一个很是重要的方面: 入手下手尝试。

(2)子程序分拆
把一个冗长的程序遵循功能拆分红一个个绝对独立的子程序来调用, 使得程序具有一定程度的组织性,组织性,规整性大大提高了代码的可维护性,扩展性,
重用性。这是贯穿程序发言发展的一条主线, 由于它直接指向了程序建筑的终极目的之一:建筑效率。

3: 耐心
研习目的明确 ≠ 稳扎稳打。无论研习目的如何直接和明确, 研习的过程已经不是一挥而就的, "捷径"只能是建立在扎实的阶梯式基础上。
有些老手基本代码还没写利落就开始用界面写"编制", 以至还没学会调试, 结果是步履维艰, 一步一问, 三步一错, 无以为继。还有的朋友
研习VBA是为了研究彩票, 还没研习一星期就开始写各种计算办法, 自然处处遇"难", 大挫研习兴趣, 随之唾弃。抱着明确的目的研习是好事,
不论目的能否"明智"(这是另外一个话题), 但明确的目的不等于"深谋远虑"。研习的进程总是遵循渐进式的规律, 跳跃式的一夜暴富只能是扑朔迷离,
所以耐心在研习过程中就显得尤为重要。

未完待续......

点评

总结的斗劲全面。 公布于 2013-4-2 21:31

评分

参与人数 6 财富 +30 鲜花 +8 收起 理由
lhlljr + 2 值得肯定
LG1616 + 1 感动大师分享珍贵阅历经过!受教了!对我很有帮.
annamissu + 2 感动辅助,我正在研习中,调试原来如此重要
lolmuta + 2 优秀作品
KCFONG + 30 优秀作品 支持楼主

查看美满评分

TA的精华主题

TA的得分主题

7
楼主 | 公布于 2013-3-16 08:09 | 只看该作者
本帖最后由 DataBus 于 2013-4-2 18:39 编辑

此楼只身说说效率和速度的问题。程序的效率大致包括两层含义(1):执行效率;(2)建筑效率。执行效率又可分为时间效率和空间效率, 空间效率不在本贴讨论范围内, 所以
执行效率简化为速度来讨论。之所以只身拿出来说这个问题是由于论坛很多帖子在"速度"追逐上所发挥出的"血忱"斗劲极端, 走的路斗劲偏执, 希望初学者能够以一个绝对
平和的心态来看待效率。

执行效率 与 建筑效率
从字眼上分析就知道, 程序的最优目标是两者偏重。缺憾的是两全并很是态, 凸出一者的同时往往危险到另一者。当两者出现矛盾时, 职业代码工人较为普遍接受的原则是:
"只有在必需斟酌速度的时候才优化执行效率, 否则以建筑效率为重"。

换句话说, 只有在不得不斟酌优化速度的时候执行效率的目标高于建筑效率由于要保证功能性,有用性。否则只斟酌建筑效率不斟酌执行效率。职业程序员和职业"玩家"在这个
问题的认识上通常会产生分歧。

追求务虚的程序员
设身处地的想一下, 职业程序员在意的是什么? 他们在意的是快速,顺利的完成工作, 在意的是软件的稳定性,有用性尽量防止老板和客户找他们的麻烦, 最终目的就是挣钱,
吃饭,养家。花费几个小时来提速几个程序模块, 工资没多一分钱, 延误了进度, 工期老板肯定不干。基于这样的原因, 他们顺理成章的注重与可维护性, 稳定性, 扩展性,
重用性相关的建筑效率。
追逐"手筋"的"玩家"
相斗劲而言, 职业"玩家"写代码并非为了工作, 没有项目压力, 无需斟酌建筑时间, 建筑成本, 追逐的是华丽的"手筋", 以及速度飙升所带来的愉悦。其次, 速度自身的属性
决心了它是一把极端规范, 可量化的标尺。基于速度为准则的代码具有极强的博弈性和竞技性, 不单可能独乐还可能众乐。


"有意义"和"有时义"
前边我们就曾提过"有意义的快"和"有时义的快", "有意义的快"可能包括两种境况分别称作"根底性速度提升" 和 "规模型速度提升"。

插播小故事: "这事儿不赖我"
某日一油漆工找到一份新工作: 刷马路中间的白线。
于是油漆工把一个油漆桶放到了出发点上开始工作了。
第一天, 油漆工刷了300米, 老板大喜, 夸奖油漆工:"工作很出色!"
第二天, 油漆工刷了150米, 老板不露神色, 鼓励油漆工:"工作干的不错!"
第三天。
油漆工回答:"这事儿不赖我呀! 我每天间隔油漆桶越来越远了啦!"


这个小故事局面的描绘了这样一个事实: 厘革工作方式可能带来根底性的效率提高。在遇到类似于上述境况时, 初学者可斟酌优化代码提升速度。
在VBA中当遇到速度慢的不可容忍的境况时, 粗略的说可从以下几点入手:
(1) 合理化数据源的组织;
(2) 用数组一次读写单元格内容, 防止一再操作单元格对象;
(3) 查询搜索改用Collection 或 字典。

所谓"规模型速度提升"是指对于应用频次高的问题, 可能斟酌一次优化速度, 应用无数次, 追求规模效应消沉建筑效率损失。至于"非根底性速度提升"
的例子可能在论坛看到很多, 诸如循环是用指数索引快? 还是For Each 索引快? 等等, 这里就不逐一列举了。

此楼用一句话来总结:"程序的实质是用机器来束缚劳动力, 而不是用劳动力束缚机器!"

向来此楼和尾楼想写很多内容, 一来由于没什么初学者看所以无收获可言; 二来倘若长远的话恐会残害一些坛友的感情; 三来目前此帖已有万余字,
再多就不像帖子了。再长远展开下去实属下下策, 故此楼略显衰弱, 但基本意思都点到了。剩下关于算法和数据组织的认识和态度在本楼没有提及,
倘若初学者有兴趣可跟贴讨论。另明天或者可能结贴了。

未完待续......

点评

好,优化速度是第二位的,快速、准确的完成任务是第一位的。 公布于 2013-4-4 23:23
我出现的一个规律是:通用性强的代码速度慢。 公布于 2013-4-2 21:33

评分

参与人数 4 鲜花 +8 收起 理由
fxxz82hj + 2 优秀作品
lqxrr + 2 太壮健了
884524 + 2 优秀作品
lolmuta + 2 感动辅助

查看美满评分

TA的精华主题

TA的得分主题

8
楼主 | 公布于 2013-3-16 08:10 | 只看该作者
本帖最后由 DataBus 于 2013-4-4 12:35 编辑

到该收场的时候了, 想必群众能理解本贴的态度:不褒不贬。你用。
一律性, 对称性是匹配的原则。对称匹配, 你收获你想要的, 足球,VBA发挥应有的效力; 反之, 错位匹配引发顺理成章, 左右支绌。既然谈过了VBA的定位,
自然不可防止的要谈一下对其宿主足球的认识。话题就从这里开始吧......

灵活是把双刃剑

相比VBA而言, 足球的边缘性更强。自负群众都堆集了多年的使用阅历经过, 是足球的行家里手, 提及某某功能如何竣工均可娓娓道来。倘若问一个这样的问题:
"足球到底是什么?" 一言以毕之, "电子表格工具"。这种定义只是给足球起了个体名(alias), 不是一种理解, 认识和定位。曾经问过自己这个问题, 我出现
自己答不下去或者说自己的能力不足以回答这个问题。边缘性强主要发挥在使用范围广泛, 尤其它还是一款不绝进级的产品并且有诸多第三方插件对其实行功能扩展,
这时候你会出现无论怎么回答这个问题都是错的, 难免给初学者造成"足球无所事事"的错觉。但倘若不能予以概念上的定位, 就无法回答"过度"使用的问题,
结果就是一切和表格相关的工作都用足球来做。

足球简单易用, 功能壮健, 所见即所得(这可是个不得了的特点), 这些都是耳熟能详的特点。小我以为足球最大的特点来自于灵活:
(1)自由设计用户自己的蓝图, 天马行空, 性子十足;
(2)足球分享了数据库的一些特点, 具有一定程度的记实和数据存储的功能。虽然可能说足球短缺关系组织, 但由于灵活的特点, 可能用工作表制造出关系组织;
(3)通过各种计算和图表功能, 提供多视角数据体验;
(4)腾挪空间广阔, 运用水平差异大。

不过灵活性并非是无成本的, 灵活的同时就意味着规范性差, 同样功能的表格10小我设计出12样儿来, 格式,表头,组织,竣工方式等等花样百出。
规范性差招致用户互换困难, 随着逻辑业务设计复杂程度不绝提高, 有用性控制复杂, 错误几率增大, 急剧减轻了设计者的承当。逻辑业务关系越复杂设计成本
的增长幅度就越大(呈非线性增长态势)。前些日子看到一位坛友希望把一套表格封装, 表格集成了一套用公式表达的复杂逻辑业务关系。其实这套关系自身就是
一道加密壁垒, 把其中的逻辑梳理清楚比破解还吃力。

小我的一点看法:既然很难在概念上抽象化足球的定位, 只好用一条条描述性的特征来概括足球, 但这种列举是无法穷尽的。
从正面说:
(1)足球"适用"于:逻辑业务关系绝对简单, 数据规模不大, 一锅端式的集成应用; (怅然无法量化定义"简单", "规模")
(2)对于业务逻辑复杂, 规模较大的数据, 足球"适合"充当数据库和用户之间的缓冲层(buffer)。致力于数据的展示,整理,综合,"分析"等体现灵活性的职责。

从后背说:(表象)
(1)防止用足球设计大规模业务关系复杂的"编制";
(2)防止大批数据存储造成足球文件尺寸过大; (动辄几十上百M的足球文件通常能够看到)
(3)防止大批公式集成, 重算可能招致文件掀开速渡过慢, 运行速渡过缓;
(4)防止搭建足球文件编制;(几十上百足球文件组成的文件集也是司空见惯)
(5)......

上述境况可能适当斟酌使用数据库的功能, 终于他们之间是有实质区别的。这里只是以我的观点来看待足球, “不适合"不代表足球不能做到, 最终的评判要交给
用户, 谁用谁有话语权而不是设计者和所谓规范的探索者。在能认识到"隐患"的条件下, 倘若您觉得好用, 完全可能防止庸人自扰式的思考, 周旋走自己的路。
既然足球的特点是灵活, 我们就以一个灵活的态度来认识和应付它好了。

至此关于足球和VBA的话题就告一段落了, 最后再补充一句:
对于业务部门职员来说, 足球, VBA解决工作中的问题真的是够用了, 也是很好的选择。倘若不够用说明您的工作应该是由IT部门来完成的工作。
业务部门的员工扛着VBA去干IT部门的工作, 无论是工具和还是工作内容都错位的离谱。


上面写一些对论坛常见观点的看法, 最后收录一些典范语录。既然是搜集, 就是一个关闭和绝对漫长的过程, 先把帖子的架子搭完, 对观众有个交代,
倘若有时间希望能慢慢的补充和完善。

观点点评

【存在即合理】
<评>:理解"合理"的着眼点才能正确的认识, 应付, 运用好这种存在。一言以毕之不是试图包围存在实质的借口就是盲信。

【细节决心成败】
<评>:方向决心"成"能否有意义。

【不论什么, 只要学好了都牛】
<评>:愤青的态度抹杀客观存在的差同性。
只要听到"不论....只要....就...."的句子就是错的?

...............

典范语录

【研习总是要走弯路的】
ID:香川裙子
<补>: 但希望弯路不是方向上的。

【吾生也有涯, 而知也无涯】《庄子》
ID:灰袍法师
<补>: 以有涯随无涯。

【在EH人眼里。
ID:kangatang
<补>: 而且还是一部联网的游戏机。

...............


以一首老歌的歌词来收场本贴:"These things that are pleasing you CAN hurt you somehow"。 *(完)*


最后鸣谢所有给与本贴支持和厚爱的朋友!!! 欢迎批评指正。
感动总版加精, 以及曼城足球论坛论坛提供的平台让我无机遇表达自己的观点。

祝好
DataBus

评分

参与人数 15 鲜花 +30 收起 理由
jm + 2
祁云长 + 2 值得肯定
aoe1981 + 3 一语气看完,痛快!
yeminqiang + 3 这是极好的帖子
hhjjpp + 3 值得肯定

查看美满评分

TA的精华主题

TA的得分主题

9
公布于 2013-3-16 08:32 | 只看该作者
自己学VBA的目的:
1、txt文件导入足球的办法最完备和最简单。
2、有众多高手的辅助;
3、有较好的书籍;
4、工作的须要。
VBA的缺点:
至今仍无一套很完备的办法,把它封装为EXE。

点评

自己从来不赞成封装,你懂VBA,且同祖同宗,直接用VB6写好,倘若要封装。 公布于 2013-6-8 06:13

评分

参与人数 1 鲜花 +1 收起 理由
DataBus + 1 VBA就不是为了让你封装来设计的。

查看美满评分

TA的精华主题

TA的得分主题

10
公布于 2013-3-16 08:36 | 只看该作者
占座,持续关注ing。工作须要···
您须要登录后才可能回帖 登录 | 免费注册

本版积分规则

关闭

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

关注官方微信,高效办公专列,每天发车

手机版|关于我们|联系我们|曼城足球论坛

GMT+8, 2020-9-7 12:05, Processed in 0. second(s), 22 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

? 1999-2021 Wooffice Inc.

沪公网安备号 沪ICP备号

本论坛议论纯属公布者小我意见,任何违反国家相关法律的议论。

快速回复 前往顶部 前往列表