《基于Excel VBA的财务自动化》配套习题答案.docx
《《基于Excel VBA的财务自动化》配套习题答案.docx》由会员分享,可在线阅读,更多相关《《基于Excel VBA的财务自动化》配套习题答案.docx(20页珍藏版)》请在三一办公上搜索。
1、第1章VBA入门知识I.动手练习:关闭所有已打开的Excel程序,然后新建并打开一个CXCCl文件,在该文件的B3:M5区域内填入任意数字。在该文件内录制宏,宏的名字为“format。录制以卜操作: 1)地置Al:Ml为合并并居中,行高3().内容垂宜居中,字号20, 2)设置A2:M2填充色为淡蓝色. 3)设置B3:M5数字格式为“会计专用。(4)在A6输入“Total:,在第六行,B到M每一列进行求和。 5)设置A6:M6字体加粗,上边框线为双线。 6)在输入“GrandToIaI:,在M8对第六行进行求和“ 7)设置第八行字体加粗.6yoff0*&1.sumEndSubDo循环:Subm
2、ysum2()Dim1.suas1.ong,iAs1.ongDoUhileiIOl1.sub=1.SUm+ii=i+11.oopMsgBox*l100A06wylP,*&1.sumEndSub第3章ExcelVBA的重要概念1.Excd中有哪些常见的对象?它们之间的层次结构是怎样的?有APPIiCaIion对象、WOrkbOok对象、Worksheet对象、Range对象。EXCCl应用程序只有个APPIiCatiOn对象,个APPliCatiOn对象中可能有多个工作簿对象,工作簿中可能包含多个工作表对以,而工作表中又包含着多个单元格对象.2.基于对象集合的概念,可以对workbook和WOr
3、kShCet对象采用两种基本的表示方法,试举例说明。1)对象集合(对象名),如WorkSheetSCSheeII)表示所有工作表中名为Sheetl的那张工作表:2)对象集合(对象索引号)。如WOrkShCCM2)表示排在第2位的那张工作表。3 .对象变量与其他变量在使用上有什么不同?1)时象变量在赋值之前,必须先声明,如DimmgaSRange:(1)给对象变量赋值.必须加Sel关键字,如Setmg=Range(Al:C2):(3)程序结束前,最好用语句“Sei对象变量名=Nothing”手动择放对象变量内存空间。4 .简述对象的属性、方法、事件。属性是对象的一种特征,每个对象都可能有多个属性
4、。在VBA代码中般通过赋值语句的方式来设置对型的属性值,对您和属性之间同样用英文符号连接,对象在前,属性在后.方法是作用于对象的悚作,每个对象都可能有多个方法。如果说属性由于是对象的特征,因而是名词形式的话,那么方法就可看作是动词形式,例如创建、删除、关闭、插入、激活、计算、身制、查找等。对象和方法之间也用英文句点连接。对象的事件是当一定主体对象的特定事件发生后,就会触发宏过程的自动启动运行。VBA可以响应许多事件,而这些事件又是由用户或者系统本身所触发的。对于对象而言,事件就是发生在该对象上的事情或消息。系统为每个对象预先定义好了一系列的事件,例如,CIiCk(单击)、DbICliCk(双击
5、)等.第4章VB操作主要对象1 .什么是Application对象?Application对象的worksheets和Sheets属性有什么区别?ActivcWorkbook和thisvorkbook属性有什么区别?在Excel对象模型层次结构最顶端的是APPliCaliOn对彖,代表Excel应用程序本身。WOrkSheelS是活动工作簿中所有WCrkSheel对象,不包括宏表等:Sheet5当前活动工作薄中所有ShCCl对象,包括宏表等,二者可能一样,也可能不一样。ActivcWorkbook是当前活动工作簿,Ihisworkbook是运行当前宏代码的工作簿,二者可能一样,也可能不一样。2
6、 .请用Yba代码表示以下描述:(I)关闭名为“测试”的工作簿 2)保存代码所在的工作簿 3)选择标签名称名为“1月的工作表 4)删除第2张工作表 5)新建一张工作表,放在最后位置答:.orkbooks(测试).CloseThisWorkbook.Saveworksheets(1月).selectforksheets(2).DeleteIorksheets.Addafter:=Iorksheets(Worksheets,count)3 .请用2种或以上的方法引用:(I)单元格Al: 2)单元格区域Al:C3; 3)第2行: 4)第2列1)ra11e(“al”),cells(1,1)(2) ra
7、nge(*1:C3).range(*al).resize(3,3)(3) Rows2:2*).Rows(2),Range2=NothingEndSub第5章函数1 .在Vba中,如何调用工作表函数?如何调用VBA内巴函数?工作表函数主要通过两种方式谢用:第一种为利用APPliCation对象调用,使用特点是在函数名前加“WorksheetFunction”的前缀:第二种为利用字符吊直接在单元格中写入函数。调用VBA内置函数可以在前面加上:VBA.函数名,也或者直接调用写函数名.2 .什么是自定义函数?自定义函数的基本格式是怎样的?VBA用户可以自行定义一个具有特殊功能的函数,即自定义函数,其基
8、本格式如卜;Function南数名(变量)Endfunction3 .与Excel内置函数相比,自定义函数的使用中有什么主要问题?可以采用什么方法予以解决?自定义函数值不能自动更新,这一点与Excel内置函数不同.解决自定义函数自动更新的方法主要有两种:一是在工作表中选择任何两列进行剪切和粘贴操作,二是在函数体内第行加上语句ApplicalionNoIaliIe将函数定义为易失性函数。4 .试写个自定义函数,如果输入参数是“男”,则返回“先生”:如果输入参数是“女”,则返回女士”,FunctionchstrAsString)Ifstr=男Thench=先生.Elsech女士EndIfEndFu
9、nction5 .试写个自定义函数,将“4202031988()8089201”格式的身份证号码中的生日信息提取出来,并以“1988/8/8”的格式返回.Functionrqzh(strAsString)rqzh-DateSerial(1.eft(str,4),Mid(str,5,2).Right(str,2)EndFunction第6章对账业务1 .在银企对账宏中是如何实现A列与C列数据比对的?第一步,将第1列(A列)的第1个数据,即单元格CeHS(3,I)数据,与第3列(C列)第1个数据,即单元格CeHS(3,3)数据,进行比对。如果相同,即Celk(3.1)=CeIk(3.3),则停止比
10、对,并同时删去单元格Cell(3,l)Cell(3,3)数据.第二步,如果第一步比对不成功,也就是单元格CdIS(3,1)与CCllS(3.3)的数据不同,即接若将第1列的第1个数据顺次与第3列第2个数据,即单元格CeHS(4.3)数据,进行比对。如果相同,则停Ih比对,并同时删去单元格CeHM3.1)和CeHS(4,3)数据。如此进行,直到将第I列的第1个数据与第3列的最后I个数据,即单元格CeH(100oo,3)数据,比对完毕。2 .为什么在记录之间存在空格时,For.Ncxt循环语句的循环终值不能设为变量值?如果记录之间有空格,则循环会在第个空格处终止。3 .6.2.1小节VBA代码中的
11、ar=Range(al).CUITentRCgion”可以替换为“akRange(一).USCdRangC”么?不可以,因为UscdRangc是Worksheet对象的属性,range对象没有。4 .若本章6.2.1小节VBA代码中必须使用USedRange属性,应该怎么修改?改了仃缺点?将“ar=RangeeaI).CUrrentRegion”替换为ar=Sheet1.UsedRangeKP11缺点:由于USCdRangC底性返回的是工作表中已使用的所有单元格困成的最小矩形区城,所以当工作表中数据区域以外的堆元格有改动,数组ar中就会出现一些空值,浪费了内存空间。第7章统计报表的批量生成与分
12、发1 .按顺序删除工作表时,为什么要从后往前删除?删除一张工作表之后,所有的ShCCt在顺序上都依次前移了一位,若按顺序从前往后粗除,会造成漏删,并可能引起“下标越界”的问题。2 .简述对报表设理保护的操作步骤. 1)先锁定整张工作表的单元格。 2)取消锁定要输入数据的单元格或区域。=irow1行号加1NextEndSub第8章日记账数据拆分到多表1 .在自动化业务处理中,如何在代码中根据对缴处理的不同状态选择不同的进一步处理方式?引入个状态变量,根据对象处理的不同状态给状态变量赋不同的值,进而利用if语句根据状态变量值的不同进入不同的代码块.2 .在拆分数据到部门表的时候,如果代码中不指明工
13、作表名称,会发生什么情况?请选择不同的工作表进行测试。无论在哪张工作表界面启动运行SUb过程,都无法得到正确的拆分数据结果,原因是SUb过程运行中会在不同的工作表间切换,若不指明工作表名称,就无法指向正确的工作表数据.3 .试编写一个Sub过程,将拆分到不同工作表的数据提取合并到一个表格中。Subhcbi11()Dimi,jAsIntegeri是数据源我的最后一行,j是目标表(数据衣)的最后行DimshtAsWorksheet先要删除所有数据Sheet1.Range(*al:f65536*).ClOarContents发制表头Sheet2.Range(*:8*).CopySheetl.Rang
14、e(al)Sl制数据ForEachShlInSheetsIfsht.NaaeO数据Then1 =sht.RangeC*a65536*).End(xlip).Rowj=Sheetl.RangeCa65536*r).End(xlUp).Rowsht.Range(*a2:f*hi).CopySheet1.Range(*a*&j*1)EndIfNextEndSub第9章跨文件汇总报表I、请简述Dir函数的作用及使用特点.Dir的作用是返回一个String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。Dir(PathnanIe)仅返回匹配pathname的第个
15、文件名,若想得到匹配PaIhnaEe的其它文件名,再一次调用Dir,且不敷使用参数.如果已没有合乎条件的文件,则Dir会返回一个零长度字符串()。一旦返回值为零长度字符串,并要再次谢用Dir时,就必须指定Pathnamc,否则会产生.错误。2 .请使用Dir函数号一个SUb过程,用以判断与代码文件所在的文件夹中,有没有名为tesi”的excle文件.PublicSbfiIeNaneTestODimmyFileNamesString指定带完整目录的文件夹名称UyFileName=ThisWorkbook.Path&*test.xls*If1.en(DirQyFiIeNamc,vbDirector
16、y)0ThenJfDir(yFiIeName)OThenMsgBox.该文件存在.ElseMsgBox”该文件不存在“EndIfElseMsgllox”所指定的文件夹或文件不存在EndIfEndSub3 .在路径下有三个excel文件,名称分别为company1company!%company?,文件内的数据格式均如下图左所示。图右是在另i路径下的汇总文件。现需在不打开company1xComPany2、COmPany3文件的情况卜,在汇总文件中得到统计数据,试写一个SUb过程实现这要求。iB&aW金融1万元)Za203AAB154R&CJ公旬QqAalt收入(万元mc*v25Sub子公司普业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Excel VBA的财务自动化 基于Excel VBA的财务自动化配套习题答案 基于 Excel VBA 财务 自动化 配套 习题 答案
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-7201661.html