版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ExcelVBA教程之一:写在前面VBA功能如何强大,这已勿庸费言,但如何才能很快进阶,写出自己满意的程序,却取决于个人努力和悟性。我下了很大功夫却收效甚微,有时,高手一句点拨却胜读三天书。所以,我把个人学习所得作一点整理,希望有助于后学。只所以会有看书没用之感,一来是因为市面(我国)上大多数计算机类图书多为粗制滥造之作(这话稍有唐突),二来因为计算机这东西太呆板,不见得新岀现的问题就能立即得到某本书籍上的解释,新问题总是层出不穷的。7MuD。想把一门编程语言全部搞懂,再去写点程序,是一个十分愚蠢的想法。你想盖房子,难道你想先学会制造砖头、玻璃等?我承认,把语言弄懂再做事情会很顺手,但是,你知道吗,有多少人在弄懂一门晦涩难懂的语言之前就放弃了呢?比如,什么叫面向对象编程? OOP和以前的流线性编程有什么异同?我还是大力提倡学以致用,别指望什么事你都能成专家,计算机世界的“罗氏定理”就是:“毕其一生,不能穷其万一”,你记住了吗? GGIkQ那么,对于没有编程基础的人,怎样才能进步得快呢?我有几点思考:你一定要带着明确的目的去做一件具体的事。这样,才会在做的过程中发现问题,并逐步去解决这些问题。比如,我想做一个《学生成绩分析系统》,我就会想到怎么才能把学生分数分成不同的班、怎么才能算岀总分、平均分、标准差等、怎样比较各班的情况,怎样用图形显示更直观,怎么样才能把某个学生的历次成绩放在一起比较等。pVTNJ你动手去做一做,一点一点地完成你上面的设想,不必因为这个大工程没做出来而忽略你在局部的突破,这样,你会越来越有信心,这就够了,还有什么比有信心做事的感觉更好的了吗? UoyEz合理及时利用网络资源,这绝对是个好东西,或许你看起来很了不起的问题,在别人看来简直不算什么,一定会有人为你解答。上网并不只是 QQ和game啊!同时要好好利用软件的帮助系统,这才是最权威的解释,很多计算机书籍抄自帮助,你想,微软的专家写的,绝对原创,他还能去抄谁? NVsC。做了一些工作之后,再回过头来看书,就会感觉很亲切,觉得写书的人原来也不是一无是处,也是很辛苦的(不要过分自我批评了)。不过,要看书,计算机类的,我百分之一万地推荐你看外国人写的,首先,软件是人家编的,当然更了解。其次,外国人写的,又被介绍到中国来,也是比较优秀的了。三来,我确实作过对比,看老外的书收益最大。语言不通的问题怎么办?金山词霸一下呗。 LV7Cw我为什么要写这个东西?一是因为我想帮助别人,二是因为我想因此促进自己,三是因为我反感某些号称程序员的家伙,似乎编程是一件多么了不起的事,用一些极端人士的话来说:“编程有什么了不起?不就是判断和循环吗”,说得很有道理,从本质上说,计算机就是在做判断和循环,不信你就跟着我来吧。pBfsGo好了,Let'sgoExcelVBA教程之二:从一个界面设计开始一个好的软件,除了运算速度快、体积小后,更重要的是,它的用户界面是不是很友好、亲切,“友好、亲切”这样的词汇在开始接触计算机语言时,感觉很好笑,但现在不一样了,我感觉这两个词最贴切!界面友好,就是引导用户能很快找到他需要的服务,最能想到他的心思,最体贴他,让他不时地心动,不时地赞叹!界面友好,就是能让用户在不经意间学到好多知识, 无形中丰富了他自己,让他有美的享受!界面友好,还在于一目了然的界面却能让他需要的功能呼之即来,挥之即去!如此等等。WQfVJ那么,我想做一个《学生成绩分析系统》,我该怎么做呢?以下的界面你满意吗?
这个界面上有你做成绩分析的各项功能,从考试的组织生成考号、到学科组录入各科成绩、到录错后的修改、到统计分析生成各班情况、各学科组情况、人头数、分数线的预测、到打印、存档、调用。最为特色的功能是深度跟踪,它可以自动把一个学生的历次成绩都调出来,进行历史分析,看一看一位学生的成绩为什么会好或坏,这个功能能不让人心动吗?如果你不知道各个按钮的作用, 旁边就是帮助系统,告诉你它们的功能是什么,你应当怎么去做。你还有什么问题呢?如果有,我已经提供了E-mail地址,告诉我啊,可以为你量身定做!要说多余,就是版权信息了,呵呵,我也是劳动,你就尊重一下没什么大不了的啊! 血5丫。以上这个界面,可以说十分友好了。那么,我到哪里去做这个东西呢?要编程吗?不用编程,打开Excel,按下Alt+F11,就可以了,我还可以右击工作表,选查看代码,还有其它方法,我的意见是一种就够了。我们的目的是去公园玩,而不是总结有几条路可以到那里,别开小差,快回来! NPL8d打开Excel,按下Alt+F11,你看到了下图:
再点击“插入”菜单,选“用户窗体”,然后得到下图
中间有个工具箱,上面有按钮啊、文本框啊、标签啊等等,你只要把它们拖到到右边那个带有“麻麻点”的窗体中,并调整一下它们的大小和位置,就会做得比我还好了了。精确调整它们,要用到左下角的属性窗口。怎么拖知道吗?不是用绳子捆住,不是用牛拉,而是用鼠标! DX6rv。建立了界面之后,你除了长舒一口气外,是不是体会到一点喜悦呢?生活就是这样,找个空偷着笑,不过,还是要干点实事的哟! VvdxO我猜到了,现在你比我还急了,你更想赋于每个按钮一定的功能,希望点它一下,它就能做点事情,你的想法太对了,每一个按钮,当我们给它各写一段程序,让它能实现一定的功能时,我们就把叫做面向这个对象编程,对象,在这里,就是按钮。531NJ希望那些比较“zhuai”的程序员别面带轻蔑,你倒给我说说,如何才能让不懂程序的同志很快理解“面向对象编程”这个意思? zUWLW我们下一期见!ExcelVBA教程之四:你要删除谁前面的学习,让我们初步体验到使用代码比较方便,代码本身也比较简单,这是VBA的优势,我们发现,编程其实并不难,不过,这只是初步,想实现比较复杂的功能,路还长着呢,好在,只要有信心,有兴趣,总是可以成功的。OMyvK那么,如果我想插入的不是一张表,而是20张表,需要运行20次上节课所提到的代码吗?其实不需要,我们只要再插入几行代码就可以了。 iCNsK。回顾一下:Sub建立工作表()Sheets.AddEndSub可以利用工作表的Add属性增加工作表,如果想添加更多,只要设置一个循环就可以了。还记得教程一中的那种话吗? 编程有什么了不起?不就是判断和循环吗”,我们来验证一下。q42mySub建立工作表()DimiAsIntegerFori=1To5Sheets.AddNextiEndSub这段代码一运行,一下子就可以插入 5张表,如果你把5改成50,则一下子可以产生50张表,如果是手工插入,你要花多长时间啊! YftKG。其中的for…next就是表达循环关系的一种方式,还有其它种类,暂且不表。值得提醒的是,循环变化i在使用前,你一定要先和dim声明一下。vrpoh你发现,所生成的工作表的名称,是自动加上去的,要是在生成的时候,就给个名字,是不是会更好呢?试试下面的代码吧。 GZY9。Subcreatsheet1()DimiAsIntegerFori=1To10Sheets.AddActiveSheet.Name=iNextiEndSub一下子生成了10张表,表名从1到10,难道用它来表示一班到十班,不是非常好吗?我想到了我们的《成绩分析系统》。如果名字不是一个系列的数字,你可以使用数组来表达,比如知个学科表。 GtPBXSubcreatsheet()DimiAsIntegerDimsheetNamesheetName=Array("语","数","英","物","化")Fori=0To4Sheets.AddAfter:=Sheets(Sheets.Count)ActiveSheet.Name=sheetName(i)NextiEndSub到目前,你的工作簿中已经有很多工作表了, 如果你实验的次数足够多,你还会收到一些错误的警告,那是因为你插入的工作表重名了。 WlciL。如果你要删掉一张工作表,那有点麻烦,因为你必须具体而明确地指明是哪一张工作表,否则,程序不知你对谁的工作不满意了,要删除谁,你得先指明。这完全不象某些的领导,要表扬,就会表扬一大堆,尽管有时是某名其妙的张冠李戴,而批评,也是一本糊涂账。TxJG3怎么删呢?看下例:SubdeleteSheets()Sheets(“sheetl”).DeleteEndSub如果你想删掉一些工作表,你想手动还是用代码自动化呢?当然是后者,看看下例。Subdeletesheet3()DimiAsIntegerFori=1To5Sheets(CStr(i)).DeleteNextiEndSub千万注意不要写成Sheets(i),一定要加上CStr(),我就是吃了这个亏,浪费几个小时,气晕了头才发现的,计算机是多么机械的一个东西,不能越雷池一步,有点象某些死板的领导。XjHFE要是删那种不是数据系列的工作表,就得用下面的代码了。SubdeleteSheets()DimclassNameclassName=Array(语","数","英","物","化")Fori=0To4Sheets(className(i)).DeleteNextiEndSub你插入的那些有名字的工作表,将逐一被删除!每删一张,都会给一句警告,能否让它不出现呢?再加两句代码,就可以了。SubDeletesheet()DimclassNameclassName=Array(语","数","英","物","化")Application.DisplayAlerts=FalseFori=0To4Sheets(className(i)).DeleteNextiApplication.DisplayAlerts=TrueEndSub以上代码将用到《成绩分绩系统》统计分析按钮和退出系统按钮中,点一下统计分析,就会产生各班级和各学科分数表,只是暂时还没有数据,会有的,你得有点儿耐心。再点一下退出按钮,将把这些表给删了,会让我们的软件体积更小。Z599E好啦,到这里,你已经可以添加你想要的任意数量的工作表, 也可以把它删了,都只是弹指之间的事情,以后,你要是有什么不顺心的事,可以到这里反复添加和删除,相当于到健身房去打拳。好象,人们越来越脆弱了,据说这样可以发泄自己,让自己很快平静下来。常听到两句时髦的话:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年大数据在能源管理中的应用测试题库
- 2025-2026年大数据在智能物流中的应用测试卷
- 造船厂船体涂装细则
- 心理基础及测量 答案
- 2026下半年高中地理教资面试答辩题库及解析
- 初中化学教资面试易错题题库及答案
- 《战略能力计划》课件
- 企业战略的体系与执行
- 护士面瘫康复指导
- 胆道蛔虫防治方案
- 2026年高级考评员职业技能等级认定考试题附答案
- 2026年河南省洛阳市公安招聘辅警考试试卷含答案
- 5.14玉米历险记《探寻新航路》课件-历史九年级上册
- CSCO胰腺癌诊疗指南(2026版)
- 1.4《闪亮的坐标劳模王进喜》课件 中职语文高教版职业模块
- 云南中环 表D-5参比方法评估气态污染物CEMS(含氧量)准确度
- 3.放射性核素示踪技术与图像采集方式
- JJG 1011-2018角膜曲率计
- 水岸山居调研课件
- 经济犯罪侦查课件
- 库欣综合征病人的护理
评论
0/150
提交评论