您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > vba编程练习题+近年真题
VBA编程练习题1、假定有以下循环结构DoUntil条件循环体Loop则正确的叙述是A)如果“条件”值为0,则一次循环体也不执行B)如果“条件”值为0,则至少执行一次循环体C)如果“条件”值不为0,则至少执行一次循环体D)不论“条件”是否为“真”,至少要执行一次循环体2.设有以下窗体单击事件过程:PrivateSubForm_Click()a=1Fori=1To3SelectCaseiCase1,3a=a+1Case2,4a=a+2EndSelectNextiMsgBoxaEndSub打开窗体运行后,单击窗体,则消息框的输出内容是5。3.在窗体中添加一个命令按钮(名为Command1)和一个文本框(名为text1),然后编写如下事件过程:PrivateSubCommand1_Click()DimxAsInteger,yAsInteger,zAsIntegerx=5:y=7:z=0Me!Text1=Callp1(x,y,z)Me!Text1=zEndSubSubp1(aAsInteger,bAsInteger,ByValcAsInteger)c=a+bEndSub打开窗体运行后,单击命令按钮,文本框中显示的内容是。4.以下程序段运行结束后,变量x的值为x=2y=4Dox=x*yy=y+1LoopWhiley6A)4B)40C)8D)205.在窗体上添加一个命令按钮(名为Command1),然后编写如下事件过程:PrivateSubCommand1_Click()Fori=1To4x=4Forj=1To3x=3Fork=1To2x=2x=x+6NextkNextjNextiMsgBoxxEndSub打开窗体后,单击命令按钮,消息框的输出结果是A)7B)15C)157D)86.设有如下代码:x=1dox=x+3loopuntil=10或7运行程序,要求循环体执行3次后结束循环,在空白处填入适当语句。7.在Access中,DAO的含义是:A.开放数据库互连应用编程接口B.数据库访问对象C.Active数据对象D.数据库动态链接库8.在Access中,ADO的含义是:A.开放数据库互连应用编程接口B.数据库访问对象C.Active数据对象D.数据库动态链接库9.在窗体中有一个标签Lb1和一个命令按钮Command1,事件代码如下:OptionCompareDatabaseDimaAsString*10PrivateSubCommand1_Click()a=1234b=Len(a)Me.Lb1.Caption=bEndSub打开窗体后单击命令按钮,窗体中显示的内容是A.4B.5C.10D.4010.在窗体中使有一个文本框(名为n)接受输入的值,有一个命令按钮run,事件代码如下:PrivateSubrun_Click()result=Fori=1ToMe!nForj=1To(Me!n)+1-iresult=result+*Nextjresult=result+Chr(13)+Chr(10)NextiMsgBoxresultEndSub打开窗体后,如果通过文本框输入的值为4,单击命令按钮后输出的图型是D11.在VBA中双精度的类型标识是A.IntegerB.SingleC.DoubleD.Variant12.运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是Subp1()Dimi,j,arr(11)AsIntegerk=1whilek=10arr(k)=Val(InputBox(“请输入第”&k&“个数:”,“输入窗口”))k=k+1WendFori=1To9j=i+1Ifarr(i)arr(j)Thentemp=arr(i)arr(i)=arr(j)arr(j)=tempEndIfDebug.Printarr(i)NextiEndSubA)无序数列B)升序数列C)降序数列D)原输入数列13.下列程序的功能是计算N=2+(2+4)+(2+4+6)+……+(2+4+6+……+40)的值。PrivateSubCommand34_Click()t=0m=0sum=0Dot=t+msum=sum+tm=Loopwhilem41MsgBox“Sum=“&sumEndSub空白处应该填写的语句是A)t+2B)t+1C)m+2D)m+114.已知:DimrsAsnewADODB.RecordSet,在程序中为了得到记录集的下一条记录,应该使用的方法是rs.MoveNext。15.在VBA中,没有显式声明或使用符号来定义的变量,其数据类型默认是Variant。16.下列程序的功能是:输入10个整数,逆序后输出,请在程序空白处填入适当语句使程序完成指定的功能。PrivateSubCommand2_Click()Dimi,j,k,temp,arr(11)AsIntegerDimresultAsStringFork=1To10arr(k)=Val(InputBox(“请输入第”&k&“个数:”,“数据输入窗口”))Nextki=1j=10Dotemp=arr(i)arr(i)=arr(j)arr(j)=tempi=i+1j=j-1LoopWhileijresult=“”Fork=1To10result=result&arr(k)&Chr(13)NextkMsgBoxresultEndSub17.已经设计出一个表格式窗体,可以输出教师表的相关字段信息,请按照以下功能要求补充设计:改变当前记录,消息框弹出提示“是否删除该记录?”,单击“是”,则直接删除该当前记录;单击“否”,则什么都不做,其效果图如下:'单击“退出”按钮,关闭窗体PrivateSubbtnCancel_Click()Docmd.closeEndSub'表格式窗体当前记录变化时触发PrivateSubForm_Current()IfMsgBox(是否删除该记录?,vbQuestion+vbYesNo,确认)=vbYesThenMe.recordset.deleteEndIfEndSub18.如果X是一个正的实数,保留两位小数、将千分位四舍五入的表达式是A)0.01*Int(x+0.05)B)0.01*Int(100*(X+0.005))C)0.01*Int(x+0.005)D)0.01*Int(100*(X+0.05))2011.03(27)下列给出的选项中,非法的变量名是A)Sum1B)Integer_2C)RemD)Form1(28)如果在被调用的过程中改变了形参变量的值;但又不影响实参变量本身,这种参数传递方式称为A)按值传递B)按地址传递C)ByRef传递D)按形参传递(29)表达式“B=INT(A+0.5)”的功能是A)将变量A保留小数点后1位B)将变量A四舍五入取整C)将变量A保留小数点后5位D)舍去变量A的小数部分(30)VBA语句“DimNewArray(10)asInteger”的含义是A)定义10个整型数构成的数组NewArrayB)定义11个整型数构成的数组NewArrayC)定义1个值为整型数的变量NewArray(10)D)定义1个值为10的变量NewArray(31)运行下列程序段,结果是Form=10to1step0k=k+3NextmA)形成死循环B)循环体不执行即结束循环C)出现语法错误D)循环体执行一次后结束循环(32)运行下列程序,结果是PrivateSubCommand32_Click()f0=1:f1=1:k=1DoWhilek=5f=f0+f1f0=f1f1=fk=k+1LoopMsgBoxf=&fEndSubA)f=5B)f=7C)f=8D)f=13(33)有如下事件程序,运行该程序后输出结果是PrivateSubCommand33_Click()DimxAsInteger,yAsIntegerx=1:y=0DoUntily=25y=y+x*x‘1,5,14,30x=x+1LoopMsgBoxx=&x&,y=&yEndSubA)x=1,y=0B)x=4,y=25C)x=5,y=30D)输出其他结果(35)下列程序的功能是返回当前窗体的记录集SubGetRecNum()DimrsAsObjectSetrs=______MsgBoxrs.RecordCountEndSub为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的A)RecordsetB)Me.RecordsetC)RecordSourceD)Me.RecordSource(8)运行下列程序,窗体中的显示结果是:x=______。OptionCompareDatabaseDimxAsIntegerPrivateSubForm_Load()x=3EndSubPrivateSubCommand11_Click()StaticaAsIntegerDimbAsIntegerb=x^2fun1x,b‘3+9,9fun1x,b‘12+9,9MsgBoxx=&xEndSubSubfun1(ByRefyAsInteger,ByValzAsInteger)y=y+zz=y-zEndSub(13)秒表窗体中有两个按钮(开始/停止按钮bOK,暂停/继续按钮bPus);一个显示计时的标签lNum;窗体的计时器间隔设为100,计时精度为0.1秒。要求:打开窗体如图1所示:第一次单击开始/停止按钮,从0开始滚动显示计时(见图2);10秒时单击暂停/继续按钮,显示暂停(见图3),但计时还在继续;若20秒后再次单击暂停/继续按钮,计时会从30秒开始继续滚动显示;第二次单击开始/停止按钮,计时停止,显示最终时间(见图4)。若再次单击开始/停止按钮可重新从0开始计时。相关的事件程序如下。请在空白处填入适当的语句,使程序可以完成指定的功能。OptionCompareDatabaseDimflag,pauseAsBooleanPrivateSubbOK_Click()flag=__notflag____Me!bOK.Enabled=TrueMe!bPus.Enabled=flagEndSubPrivateSubbpus_Click()pause=NotpauseMe!bOK.Enabled=NotMe!bOK.EnabledEndSubPrivateSubForm_Open(CancelAsInteger)flag=Falsepause=FalseMe!bOK.Enabled=TrueMe!bPus.Enabled=FalseEndSubPrivateSubForm_Timer()StaticcountAsSingleIfflag=TrueThenIfpause=FalseThenMe!lNum.Caption=Round(count,1)EndIfcount=__count+0.1____Elsecount=0EndIfEndSub2012.0329)下列关于VBA事件的叙述中,正确的是A)触发相同的事件可以执行不同的事件过程B)每个对象的事件都是不相同的C)事件都是由用户操作触发的D)事件可以由程序员定义(30)下列不属于类模块对象基本特征的是A)事件B)属性C)方法D)函数(31)用来测试当前读写位置是否达到文件末尾的函数是A)EOFB)FileLenC)LenD)LOF(32)下列表达式中,能够保留变量x整数部分并进行四舍五入的是A)Fix(x)B)Rnd(x)C)Round(x)D)Int(x)(33)运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果应该是Subp1()Dimi,j,arr(11)AsIntegerk=1whilek=10arr(k)=Val(InputBox(“请输入第”&k&“个数:”,“输入窗口”))k=k+1WendFori=1To9j=i+1Ifarr(i)arr(j)Thentemp=arr(i)arr(i)=arr(j)arr(j)=tempEn
本文标题:vba编程练习题+近年真题
链接地址:https://www.777doc.com/doc-4138389 .html