首页 实例解析EXCEL宏

实例解析EXCEL宏

举报
开通vip

实例解析EXCEL宏EXCEL中运用“宏”自动计算总分——实例解析EXCEL宏的应用一、什么是宏“宏”,其实是使用代码编成的一种计算机指令。其实就是通过编程,让操作变得更简单,更自动化,要学会自定义“宏”,最好能有一定的编程基础,最好是学过VB的,不过,没有学过也没什么关系,也可以编一些简单的宏。百度百科对宏的定义是:“所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。MicrosoftWord中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列Word命令,它能使日常工作变得更容易”。Word使用宏语言Vi...

实例解析EXCEL宏
EXCEL中运用“宏”自动计算总分——实例解析EXCEL宏的应用一、什么是宏“宏”,其实是使用代码编成的一种计算机指令。其实就是通过编程,让操作变得更简单,更自动化,要学会自定义“宏”,最好能有一定的编程基础,最好是学过VB的,不过,没有学过也没什么关系,也可以编一些简单的宏。百度百科对宏的定义是:“所谓宏,就是一些命令组织在一起,作为一个单独命令完成一个特定任务。MicrosoftWord中对宏定义为:“宏就是能组织到一起作为一独立的命令使用的一系列Word命令,它能使日常工作变得更容易”。Word使用宏语言VisualBasic将宏作为一系列指令来编写。”这里说明一下,不仅在Word里面我们可以使用宏,MSOffice系列的其他一些软件也可以使用宏,EXCEL当然也是可以使用宏的。下面,我们来做一个“班级成绩统计”的表,来学习“宏”的应用。二、宏的录制宏的初级运用是录制。顾名思义,“宏”的录制就是指“宏”可以像录音、录像一样录制而成。只不过录音录像录的是音像,而“宏”的录制,录制的则是操作。我们打开EXCEL,来录制一个宏。点击屏幕上方的“视图”菜单,再点击菜单栏下面的工具条中的“宏”,会拉出一个菜单,然后,点击“录制宏”,弹出“录制新宏”的对话框,取个名,如果你很懒,那么宏名不改也没关系,不过最好设个快捷键。如果你比较喜欢有条理一点,那么,再填个说明。接着,点击确定。然后输入下面一行字。有点“班级成绩册”的味道了吧?输好后,停止录制。接着,来看看成果。删去首行,点击“宏”——“查看宏”。找到刚录制的宏(如果你没改名,应该叫“Macro1”),双击,或单击后这个宏,并单击“执行”。这时,我们发现,删去的首行,又回来了。其实,这不是回来了,是我们刚才的操作被“录制”了下来,这次只是“播放”了一下。现在我们发现,漏了一些什么东西,对了,一般的“成绩册”,应该还有几列,最起码应该还有“学号”和“姓名”。怎么办,重新录“宏”吗?其实不用,因为“宏”是可以修改的。三、修改宏——让宏变得更强大更灵活点击“宏”——“查看宏”,点击任一个宏,再点击“编辑”,则进入VBA的编辑页面,快速熟悉一下这个界面,对宏的修改,就在这里进行。当然,要修改宏,最好有一点编程的基础,最好是熟悉VB,因为这里的代码,就是VB,VB是什么呢?如果要深入了解,可以“百度”一下,简单地说,VB是一种程序语言。如果你不太懂,没关系。我们首先来看,这个视图中编辑区的首行是“SubMacro1()”,什么意思呢?不知你注意到没,macro1就是我们刚才输入的“宏名”,聪明的你一定知道了,这个就是“宏”的代码,这个macro1的代码就是放在“SubMacro1()”和“EndSub”之间的。其实Sub在很多地方叫做“子程”,但在这里,一个Sub就是一个“宏”。我们再来看这两句:Range("A1").SelectActiveCell.FormulaR1C1="语文"再看表格,横坐标为A,终坐标为1的单元格,内容就是“语文”。聪明的你应该知道了这句话的意思了吧,这句话的意思,就是在A1的单元格中填入内容“语文”。如果你再聪明一点,你可能会想到可以把这句话简化成:Range("A1")="语文"这句话执行的结果与前面两句其实一样。前面一句是录制出来的,所以,你的点击A1单元格的操作也被录制了下来。而我们完全可以不用点击,直接发指令填写单元格。好了,现在,我们把“姓名”和“学号”两个单元格补进去,最后,宏Macro1的代码变为:Range("A1")="学号"Range("B1")="姓名"Range("C1")="语文"Range("D1")="数学"Range("E1")="英语"Range("F1")="科学"Range("G1")="社会"Range("H1")="总分"现在,试下,不用去删除原来的内容,直接去执行宏吧!什么,忘了怎么执行?唉,这里不解释了吧,您如果真的忘了,回到前面去看看。唉,有人可能觉得宏也就这么点用处,没啥花头。这当然是小看了宏。接着我们让宏帮我们来统计优秀率、合格率、平均分,在以前,算这个要很长时间。有了EXCEL后,帮我们节省了好多时间,但你想不想让这件事瞬间搞定呢?如果你的回答是“想”,那么请你往下看。我们先把成绩输进去吧,目前,除了网上阅卷外,还没有手段能把 试卷 云南省高中会考试卷哪里下载南京英语小升初试卷下载电路下试卷下载上海试卷下载口算试卷下载 上的分数自动录入EXCEL,好了,别做梦了,如果不是网上阅卷,只能手工输入了,花点时间吧。对了,我们这个表格还没有正式使用,所以数据不用太多,输个五行吧。随便输些数据进去好了,当然,分数要符合实际情况。四、宏的高级应用——建自动计算总分的宏数据输好之后,我们来录制总分计算的宏。先点击“视图”——“宏”——“录制宏”。为了方便,我们把这个宏定名为“zongfen”,填个说明:“这里计算全班总分”。再定位至第一行“总分”列,用求和公式把第一行总分求出,接着利用自动计算,算出其他总分。停止录制。如果你不会自动计算,因为只有五行,你也可以逐行计算总分。录制好后,我们要修改这个宏,因为录制好的宏是死的,不自动。只要数据多了一行,我们的宏是不会计算多了一行的总分的。有时表中数据改变甚至会造成统计数字出错,或者甚至都执行不下去。但现实中,每年你教的班级的人数一般都不同,很可能统计的课程数也会不同,这就要求我们必须让宏变得更灵活。要想让宏变得更灵活,我们必须来认识一种叫“变量”的东西。顾名思义,它是可以变的“量”。怎么,越来越复杂了,感觉到难搞了吧?不要急,虽然复杂,但聪明的你一定会慢慢懂的。首先,我们要知道表中含有的行数和列数,为什么要知道这个呢,等会你就明白了。以下两句用来获取shtte1表的总行数和总列数,把它们写入“zongfen”的宏代码中。rSheet1=Sheet1.UsedRange.Rows.CountcSheet1=Sheet1.UsedRange.Columns.CountrSheet1和cSheet1就是“变量”,这两个语句就是告诉电脑,把sheet1的总行数存到变量rSheet1中,总列数,存到cSheet1中,等会要用总行数和总列数,就可以用这两个变量来代替等式右边的代码。目前为止,我们要EXCEL在某个单元格里填东西,都是直接告诉电脑单元格地址,这个地址,一般由一个英文字母和一个数字代表,英文字母代标横向座标(列号),数字代表纵向座标(行号)。如果我们可以用变量来表示地址,配合一些控制程序语句(如循环语句、分支语句),就能给一“群”地址的单元格填充数值。当然,到了这里,不得不说一句,如果你从未编过程,下面的内容真的有点难懂了,如果你对程序有所了解,并且知道VB的循环语句和分支语句,那么,下面的内容却是很简单的。首先我们来看,总分的单元格地址该怎么写?我们来看,Excel中,单元格的地址一般表为A1,A2B1,B2,实际上由两部分组成,A,B是第一部分,我们可以称之为列号或纵坐标,1,2是另一部分,我们可以称为列号或横坐标。如果我们的课程数固定不变,那么总分的横坐标(即“列号”)始终是“H”,如果课程数要变,那么总分的横向座标会变,但是始终是Chr(Asc("A")+cSheet1-,明确一下,chr函数是将ASCII码转换成“字符”的转换函数,ASC则是将“字符”转换成ASCII码的转换函数,这行代码的意思是,取出字符“A”的ASC码,加上总列数,再减一,得到一个数字,把这个数字代表的ASCII码转换为对应的字符。实际上就是确定总分所在列为从A列往右数cSheet1-1列,cSheet1我们刚刚在上面说过,是指Sheet1的总列数。可以写一个语句,将这个值赋给一个变量,如:zfcol=Chr(Asc("A")+cSheet1-1)再来看“总分”项目的纵坐标,即“行号”。因为每一个同学都要算总分,所以行号实际是一群,即从第一行到最后一行,这个最后一行的“行号”,实际上等于这个表有数据的行的总数。我们可以用循环语句来实现,循环的终止值,其实就是行数。所以得出以下语句。这个语句,估计没有学过VB的同学可能不太懂了,实际上就是一个循环:循环次数是rSheet1-1次(因为成绩是从第二行开始输的,所以我们的行号从“2”开始,循环次数也比总行数少1),控制变量i可以在循环体中使用。Fori=2TorSheet1Next循环体可以暂时省略。现在我们必须知道,在宏代码中,单元格是用Range(“列号+行号”)构成(中间加号要去掉),所以我们的总分的单元格地址写成Range(Trim(zfcol)&Trim(Str(i)))),这里的Str是把数字转换成字符格式的格式转换函数,Trim是用来删除字符串中的空格的。好了,现在我们把循环体写进去。下面的代码,第一句是获取最后一门课所在列的列号。kmcol=Chr(Asc("A")+cSheet1-2)Fori=2TorSheet1Range(Trim(zfcol)&Trim(Str(i)))="=SUM(C"&Trim(Str(i))&":"&Trim(kmcol)&Trim(Str(i))&")"Next计算总分的宏就编好了,这里需要注意的是,输入成绩时,千万不要在“总分”列右边的列中输入数据,也不要在最后一行下面输入数据,否则,统计出来的列数或行数就不正确了。现在你是不是有点激动呢,试一下成果,换多一点数据试下。学会了总分的快速计算,你是不是想实现平均分、合格率、优秀率的快速计算呢?我想你一定想,但今天在这里我们不讲,你是不是可以自己去摸索下呢?五、宏的快捷调用宏的调用,如果用菜单来操作,好像比较麻烦,但宏的调用有几种快捷方式,我们这里来介绍两种。(一)快捷键在录制宏时可以定义快捷键,如果录制时没定义,也可以在查看宏时点击“选项”按钮添加。使用快捷键调用宏是非常方便的,前提是要记住各个宏的快捷键。所以定义快捷键时可采用方便记忆的键。但尽量不要与系统指定的快捷键冲突,比如CTRL+H,是系统指定的“查找与替换”的快捷键,而CTRL+Z是系统指定的“撤销”操作的快捷键,这些键最好不用。(二)按钮在EXCEL2003中,可以插入控件的办法来插入按钮,本人在EXCEL2007中找了半天也没办法插入“控件”,但可以插入“形状”,插入一个形状(如“矩形”)后右击这个形状,可以看到一个菜单项“指定宏”,单击这个菜单项,弹出宏的列表,选择并确定,这个形状就变成了执行这个宏的开关了。比如我们可以建两个矩形,一个指定给写首行表头的宏,并在矩形中插入文字“初始化表格”,一个指定给总分计算的宏,并在矩形中插入文字“计算总分”。在输入成绩前,点击“初始化表格”,首行表头就插好了,键入或拷贝好成绩后,点击“计算总分”,总分就算好了。小结谢谢你花了一些时间来看我的这个“宏”的基本知识及应用,相信看了后你对EXCEL的“宏”有了一定的了解。EXCEL的“宏”可以录制,但录制下来的宏是没有多少用处的,我们对它进行修改后,“宏”的功能会强大许多,灵活许多。我们可以在EXCEL中插入按钮并指定给某个宏,也可以给宏指定快捷键,从而使宏的使用更方便。作者:浙江诸暨璜山镇中杜来永
本文档为【实例解析EXCEL宏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_916672
暂无简介~
格式:doc
大小:220KB
软件:Word
页数:0
分类:
上传时间:2021-09-14
浏览量:2