ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

小丫的秘密花园

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-8-14 23:33 | 显示全部楼层 |阅读模式
小丫的秘密花园(vba学习篇)
小丫的秘密花园(第一天)——坚定信念和决心
2009-8-14                 星期五                       天气晴

    最近几天有点烦,由于办公室的同事开始意识到我的一些excel操作技巧确实可以给他们的工作提高效率,于是各种问题开始向我纷至沓来,我慢慢的迷失在了和工作相关的表格处理中,大脑繁忙而疲倦,一天的工作下来头总是昏昏沉沉的,并伴有偶尔的头疼。随着同事对我的期望值越来越高,我能力的不足也逐渐显露,也许是该下决心好好学习VBA的时候了。一个目标最终是否成功,在很大程度上取决于你对其的态度,你是坚定不移还是摇摆不定?与其学到中途来怀疑放弃,那么不如尽量将所有的问题一次性考虑清楚、权衡周全再下决定。通常我会将思考的问题罗列出来。
   一、为什么要学习VBA;
   二、是否具备相应的有利条件来学习;
   三、希望近期达到怎样的学习效果即目标;
   四、准备通过怎样的方式来学习;
   五、也是至关重要的,给自己的目标定个期限。
   一、为什么要学VBA,因为前段时间的函数及透视表的学习狼吞虎咽,不求甚解,慢慢陷入了瓶颈,思维不能开阔,积极性开始下降,如果继续将重心放到这两方面,目前不能给我带来强烈的乐趣,我希望各方面的间叉学习,以便调节,帮助思维转换和前期的知识沉淀。另外,工作的要求越来越高,我需要入门VBA来多掌握一种解决问题的方法。
   二、是否具备相应的有利条件来学习,我的回答是肯定的。1、目前我有好几个QQ好友都具备一定的VBA编程能力,考虑到大家关系还比较铁,一定会给予我不少的帮助;2、目前有EH的VBA好帖链接和VBA电子书在手,都是学习的非常好的资料;3、家里、办公室都有电脑,我可以在任何空闲时候学;4、目前,生活和工作并未给我太多太多的压力,空闲时间比较充足。
   三、希望近期达到怎样的学习效果即目标,希望对VBA代码不在害怕,能产生亲切感,和学习下去的信心,给自己开辟一条可持续发展的道路,学会最基础的循环语句吧。
   四、准备通过怎样的方式来学习,1、阅读和练习帖子;2、阅读电子书籍。
   五、给自己的目标定个期限,暂定30天,可后续追加。
   好了,总结完毕了,开始吧。Let‘s go。

                                                                  小月
                                                                2009-8-14

[ 本帖最后由 moon2778 于 2009-9-14 22:38 编辑 ]

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-16 00:58 | 显示全部楼层

小丫的秘密花园(第二天)

小丫的秘密花园(第二天)——蹒跚起步
2009-8-15                 星期六                       天气炎热
     在心里暗自对比了几个帖子的优劣之后,我决定先从http://club.excelhome.net/viewth ... p;extra=&page=1这个帖子开始学起。目前看到第9楼,对VBA的编译窗口和最基本的概念有了一个初步的认识,并开始小小的窃喜。根据我肤浅的认识,帖子第5楼的图片4,貌似应该用workbook的sheetactivate事件更加符合题目要求。今天去游泳,太累了,明天继续。
     计划:明天或者后天,需要将一些常用的关键字打印出来,随身携带,方便随时瞧一眼,记忆一下,我的记性。。。那实在是。。。所以只有自己努力了。

                                                                                                  小月
                                                                                              2009-8-15

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-16 23:45 | 显示全部楼层

小丫的秘密花园(第三天)——囤囵吞枣

2009-8-16                 星期日                       天气晴
    今天花了几个小时,把http://club.excelhome.net/thread-470603-1-1.html的77楼以前(目前楼主更新至77楼)的教程完整的学习和演练了一遍。我的方法是,将帖子完整的浏览一遍后,再根据楼层的作业,自己先尝试独立完成,对于没有实现功能的地方,再来对比楼主的正确代码,找到自己的错误点,然后更正,再继续思考实现,逐步加深印象,达到熟练掌握的目的。
    通过今天的学习,初步具备了能够独立完成该贴作业的能力,虽然我知道这些还都是VBA最最基础的部分,需要学习的知识点还很多很多,但是我相信万丈高楼平地起,只要坚持不懈,就一定能缩短和别人的差距。呵呵,大爷我还不信我就学不会。
    最后,总结一下今天的知识点感悟。
    一、由于前期对于函数的学习,导致我在看到if循环语句时,脑子里面浮现的全是函数嵌套if(,if(),)不知道是好事还是坏事,不过,逻辑思维殊途同归,通过不同的方式来锻炼自己的思维,也未尝不是好事。
    二、        在学习帖子的过程中,看到楼主11楼的代码未考虑到A1为文字或者>100的情况,故对case语句进行了改进,嘿嘿,疯子还小小的表扬了我一下,让原本学的无精打采的我,振奋了一下。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case [a1].Value
    Case ""
    MsgBox "未输入任何字符"
    Case Is < 60
    MsgBox "不及格"
    Case Is < 85
    MsgBox "较好"
    Case Is < 100.0001
    MsgBox "优秀"
    Case Else
    MsgBox "不能识别"
End Select
End Sub
         三、在看到go to语句的时候,楼主说“为了方便程序的阅读,规范程序,在程序里也避免少用Go to 语句”,我认真想了一会儿,还真没明白为什么go to就要少用呢,它的缺陷在哪里呢。于是就有了下面的一段QQ对话。
我 18:35:19
为什么一般不要用go to?
我 18:35:24
缺陷在哪里?
新来的18:35:57
传说不是结构化的设计。。晕乎
我 18:36:08
啥子叫结构化的设计
新来的 18:36:20
百度一下
新来的 18:40:15
结构化程序设计由迪克斯特拉(E.W.dijkstra)在1969年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。
新来的 18:40:49
由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可将原来较为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合: 顺序结构、选择结构和循环结构来实现。
新来的 18:40:56
结构化程序设计的基本思想是采用"自顶向下,逐步求精"的程序设计方法和"单入口单出口"的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程序结构模块组成的结构化程序框图;"单入口单出口"的思想认为一个复杂的程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么这个新构造的程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程序来。
我18:41:23

我18:42:25
"单入口单出口"的控制结构,这个又是什么东西?难道要继续百度?
新来的 18:42:46
不用 fo example
Sub test ()
End sub
我18:43:17
哦 一个开始 一个结束
新来的 18:43:23
sub test()就是入口
我18:43:26
知道了
新来的 18:43:30
clever
我18:43:39
那为什么 go to 不是结构化语言
我18:43:45
死循环  
新来的 18:44:00
和死循环有啥关系。
我18:44:07
就是回到起点
新来的 18:44:22
goto的话就可以乱跑
我18:44:25

新来的 18:44:28
无规律的。
我18:44:30
出口多了
新来的 18:44:37
高手用就不存在
我 18:44:39

新来的18:44:46
用的不好的话。。
我 18:44:51
就打乱了结构
新来的18:44:53
就那啥了

                                                             小月
                                                           2009-8-16

[ 本帖最后由 moon2778 于 2009-8-20 23:19 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-18 00:25 | 显示全部楼层

小丫的秘密花园(第四天)——温故而知新

2009-8-17                 星期一                       天气阴
     今天主要学习了http://club.excelhome.net/viewth ... p;extra=&page=1,这个帖子在大约一周前已经看过一次了,今天主要是快速浏览一遍,查找是否有遗漏的知识点,在学习了叶枫帖子的基础上,对重复知识点快速浏览复习,顺带学习了对象浏览器的用法。
     并对关键字进行了强化记忆,虽然说关键字可以查看帮助,并且在实际写代码的过程中,可以自动提示,但是我依然觉得需要将最常用的关键字熟记,以便学习人家的代码。我将帖子中的关键字22楼,其实也就大约40个单词,整理成一个一页的word文档,并打印成4份,准备一份放办公室,一份放家里,一份随身携带,一份备用(丢失替补),然后在有空的时候,比如吃饭等上菜的时候,比如公交车的时候,比如睡觉前的时候。。。可以随时拿出来看一下,默记一遍,我相信利用空闲时间重复记忆,那么10天过后,就算是鹦鹉也该学舌了。。。今天一天下来,感觉记得差不多了,如果实际使用的时候忘记了,再温习吧。
     记得第一次看帖子时,余留了该贴最后一段代码批量数据处理文件133楼没看懂,今天进行了再次学习,将已经理解的代码注释到了VBA中。不过还有一小部分没看懂,明天继续了。
     今天没有完全的将精力放到VBA的学习上,偷玩了一会儿,惭愧,明天加油。


                                                                                   小月  
                                                                                2009-8-17

[ 本帖最后由 moon2778 于 2009-8-18 15:21 编辑 ]

批量数据处理——注释未完待续.rar

24.62 KB, 下载次数: 52

关键字.rar

3.56 KB, 下载次数: 44

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-18 23:44 | 显示全部楼层

小丫的秘密花园(第五天)——越挫越勇

2009-8-18                星期二                       天气:倒阴不阴,倒晴不晴

    唉,今天真的是搞得自己很辛苦。由于昨天晚上没努力,和群里的兄弟吹牛去了,今天暗下决心要好好学,一到办公室就把昨天那个没注释完的代码拿出来看一遍,然后就开始一边工作,一边在脑子里面偷闲神游。结果是悲剧,几个小时都没有看懂,一直卡在case2的那个for 和if中间,郁闷的死,好在快要下班的时候,终于想通了,代码也基本注释完毕。其实将这个代码注释完是自己给自己的一个目标,希望自己能完全读懂,然后能尝试着写一下,同时尽量将代码优化。不过今天有点晚了,明天的目标是自己能将这个代码用自己的思路写出来。
    另外,由于tp://club.excelhome.net/viewthread.php?tid=470603&extra=&page=12,更新到114楼,制作个性化的欢迎界面,所以下班立马草草的吃了东西,就开始想这个,结果。。。。。中途遇到了相当多的困难,用我回帖的话来说就是“靠,忍不住语气助词一下,今天我跨越了千山万水,上刀山下火海,咨询了很多高人,问了很多白痴问题,被无数人BS,终于。。。。。。。”好在终于在睡觉前还是基本完成了,也算是给自己一个完整的交代。呵呵,今天的收获蛮多,也克服了很多学习的困难。明天加油咯。
那个代码的注释放到办公室了,明天来放上附件。
ps:新来的说注释不是这样写的,注释应该说明不同变量所代表的含义。不过,唉,我只要自己看得明白就行了。呵呵。

                                                                                 小月  
                                                                               2009-8-18

[ 本帖最后由 moon2778 于 2009-9-11 13:17 编辑 ]

欢迎欢迎热烈欢迎——moon2778.rar

251.45 KB, 下载次数: 86

批量数据处理——注释基本完毕.rar

23.49 KB, 下载次数: 42

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-19 18:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

小丫的秘密花园(第六天)——小有所获

2009-8-19       星期三          天气:小雨
    嘿嘿,今天上班一直在忙,下班的时候想了一下代码,居然一下子就写出来了,好开心,感觉这几天下来,对于基本的循环语句还是有心得了。另外,在今天的代码学习中,第一次发现了VBA和函数的冲突,如果工作表中录入了数组函数来引用区域,同时又用了VBA来对引用区域进行循环操作,那么就会导致数组函数不断的计算,计算机就会相当的慢。所以,如果以后要运用VBA和函数要注意这一点了。
    关于批量数据处理那个文件的代码学习,现总结如下:http://club.excelhome.net/viewth ... p;extra=&page=1该贴的楼主是为了教大家最基础的知识,所以那个文件的代码写的很冗长,用的都是最基本的循环语句。所以在我写的时候,我希望尽量的简化,并调用了工作表函数来完成,那么代码就简单可读了很多。写代码的时候,一定要注意缩进,这样便于自己的阅读和查错。另外认识到Sheet2.[a1:af30].Cells(i)这样的语句循环是先行后列的。
    今天又没怎么用心学,又和他们QQ吹牛来着,忏悔,一群活宝,太好玩儿了。。。。明天要开始看书学习。


                                                                 小月  
                                                              2009-8-19

[ 本帖最后由 moon2778 于 2009-8-21 20:39 编辑 ]

批量数据处理——moon2778.rar

15.87 KB, 下载次数: 24

批量数据处理——moon2778(改).rar

20.05 KB, 下载次数: 31

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-20 17:32 | 显示全部楼层

小丫的秘密花园(第七天)——差距造成动力

2009-8-20                星期四                      天气:倒下雨不下雨
       今天本来想安静看书,结果新来的和疯子说给我出题,结果做完三个题目,不知不觉一晚上就过去了,汗。
       三个题目,1、工作表单元格中输入任何字符,如果不足6位他就自动在后面加0,补齐6位,如果超过6位,就原样显示。2、在工作表单元格中输入数字,他可以实现自动叠加,比如A1输入1,回车,显示1,再A1输入2,回车,显示3,再输入4,回车,显示7,诸如此类。3、实现合并单元格,内容也自动合并,用按钮实现。作业见附件。
三个题目对我来说,都是很有难度的,因为一些对象和属性是我不熟悉的,所以在写代码的过程中,疯子和新来的不断的给我鼓励和提示,终于还是完成了,虽然代码可能有很多缺陷,待以后进步了再来完善。呵呵。诶,我纠缠了他们几个小时,真是不好意思诶。谢谢了。
     三个题目做完后,收获如下:
     1、        一定要学会使用对象浏览器来查找类包含的对象。同时学习item的含义,新来的给我讲了半天,倒懂非懂。
     2、        学习Application.EnableEvents = False这个属性,疯子告诉我该属性可以禁用事件,个人感觉就是类似迭代函数。。。。。。。另外切记。。。关了属性要打开,不然,代码删掉了,它不会自己复原。。。
     3、        学习Application.DisplayAlerts = False这个属性,新来的告诉我该属性可以关闭一些错误提示窗口,这个好用。
     4、        学习养成良好的VBA书写习惯,养成一个程序中关闭了属性就一定要打开的习惯。。。汗,避免造成后续的麻烦,另外写代码一定要缩进,方便自己阅读和查看。

     PS:新来的说我VBA可能还真的入门了,好高兴。不过我和他们的差距还很大,我会继续努力的。

                                                                         小月
                                                                        2009-8-20

[ 本帖最后由 moon2778 于 2009-8-20 23:29 编辑 ]

合并单元格内容也合并——for each.rar

9.34 KB, 下载次数: 33

合并单元格内容也合并——for to.rar

8.45 KB, 下载次数: 26

自动+0.rar

6.24 KB, 下载次数: 34

单元格叠加.rar

6.62 KB, 下载次数: 37

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-22 01:13 | 显示全部楼层

小丫的秘密花园(第八天)——学习疲倦

2009-8-21               星期五                     天气:晴
    今天试图努力一天, 结果对着书本,却始终不能静心,注意力不能集中。晚上看了新来的推荐的书《excel 2003高级VBA编程宝典》Jhn Walkenbach著,开始不得法,选择了从头开始,却发现该书讲的非常详细,从起源开始娓娓道来,却不是我此刻想要得到的东西,我不知道如何才能最快的找到我的学习点,迷茫,甚至想要放弃这本书,改看其他书,但是新来的告诉我,这本书看过的人都说好,所以要坚持,建议从P120开始看,但是当时已经12:00了,想到自己千万不能给日记留白,有了放弃的第一次,就一定会有第二次,于是咬牙从P120浏览到P150学习,看书的好处就是详实,知识相互之间的关联性非常好,容易举一反三,并且可以把先前学到的一些东西马上就串起来,成为一个网络。

    困。先睡了,明天继续看,今天看到的还是相关的基础知识补充。

                                                                                                  小月  
                                                                                               2009-8-21

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-23 01:17 | 显示全部楼层

小丫的秘密花园(第九天)——调整状态,循序渐进

2009-8-22               星期六                     天气:晴
    今天是周六,努力调整自己的状态,另外当然免不了要收拾房间,整理衣服什么的,再给自己弄一个好菜,最近几天总有朋友来跟我描述他们生活和工作中的困惑,这个让我很感动,虽然大家只是网络的学习伙伴,但是已建立了足够的信任,才会在我面前示弱,暴露自己的缺点,每当这个时候,我就不由认真起来,因为别人脆弱的时候,是需要真心的鼓励和理性的帮助思考的,唉,等我有空了一定要整理一下这方面的心得,如何树立积极健康的生活心态。。。。汗,自己都还幼稚,呵呵。不过我从小的偶像是三毛,看了很多她的书,她的一些想法和观念,影响了我很多,她告诉我,就算身处沙漠里,不管是贫穷还是其他的困境,都不能放弃积极的生活和乐观的心态。今天重新看了那本书的120-160页,由于这部分理论偏多,而且这本书对我来说,知识点很深,开始感觉越看,理论越混淆,不过慢慢的,似乎也开始通畅了不少,还有就是对于书中一些一时不能明白的语句,我很容易就被绊住,我是一个容易迷恋小问题的人,也因此影响了我看书的效率,这点需要克服,不能捡芝麻丢西瓜,以后注意了,对于一时不能理解的小问题,一定要克服好奇心,及时越过,让自己的知识建立层次和结构,然后将这些问题在以后的学习中逐渐完善。
                                                                                 小月  
                                                                              2009-8-22

[ 本帖最后由 moon2778 于 2009-8-23 13:23 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-24 00:52 | 显示全部楼层

小丫的秘密花园(第十天)——相当烦

2009-8-23               星期天                     天气:晴
     看书160-180,然后遇到了自定义数据类型type,看了半天都不懂,最悲剧的是新来的给我讲解,讲了半天还是不懂,一会儿是成员,一会儿是属性,一会儿是对象,一会儿是变量,好烦,相当烦,相当烦躁。郁闷,很郁闷。搞的大家都开始不自信,新来的怀疑他不是个好老师,我怀疑我是不是智商有问题。算了,明天继续想。我还不信了我。
    悲剧,QQ还说不清楚了,最后打了个电话,终于搞懂了,汗水都急出来。


                                                                                                    小月  
                                                                                                2009-8-23
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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