VBA理论练习题

合集下载

VBA练习2(含答案)

VBA练习2(含答案)

VBA练习2一、填空题1.2.在VBA中要判断一下字段的值是否为Null,应该使用的函数是isnull 。

3.VBA中定义符号常量的关键字是const 。

4.VBA编程中,要得到[15,75]上的随机整数可以用表达式15+int(61*rnd()) 。

5.在VBA中,只有True和False两个值是布尔数据类型。

6.表达式Fix(-3.25)和Fix(3.75)的结果分别是-3 3 。

7.8.三维数组Array(3,3,3)的元素个数为64 。

9.VBA中使用的三种选择函数是iif 、Switch和Choose。

10.在VBA中要将数值表达式的值转换为字符串,应使用函数str 。

11.要将正实数x保留两位小数,若采用Int函数完成,则表达式为int(100*x)/100 。

12.通常说的虚岁就是当天的年份与出生年份之差,而周岁是要过了生日才增加一岁。

设D=当天日期=date(),B=某人出生日期,则虚岁为=year(b)-year(b) ,周岁=int((d-b)/365) 。

13.执行下面的程序段后,s的值为9 。

s=5For i=2.6 To 4.9 Step 0.6s=s+1Next i14.程序执行结果s的值是6 。

Private Sub Command1_Click( )i=0Dos=i+si=i+1Loop Until i>=4End Sub15.窗体上画一个命令按钮,然后编写如下代码:Private Sub Command1_Click( )Dim M(10)As IntegerFor k=1 To 10M(k)=12-knextx=6Msgbox M(2+M(x))End Sub程序运行后,单击命令按钮,消息框显示的是 4 。

16.下面程序的输出结果是。

Private Sub Form_Click( )i=0Do Until 0i=i+1If i>10 Then Exit DoLoopDebug.print iEnd Sub17.在下面的程序中,要求循环体执行四次,请填空。

计算机vba试题及答案

计算机vba试题及答案

计算机vba试题及答案一、选择题(每题2分,共20分)1. 在VBA中,以下哪个关键字用于声明变量?A. DimB. SubC. FunctionD. End答案:A2. VBA中,用于结束一个循环结构的关键字是?A. NextB. LoopC. ExitD. Continue答案:A3. 在VBA中,以下哪个函数用于将字符串转换为大写?A. UCaseB. LCaseC. StrConvD. Trim答案:A4. VBA中,以下哪个对象代表当前工作表?A. ThisWorkbookB. ActiveSheetC. WorksheetsD. ActiveDocument答案:B5. 在VBA中,以下哪个属性用于获取或设置单元格的值?A. ValueB. NameC. FormulaD. Address答案:A6. VBA中,以下哪个函数用于计算数组中元素的数量?A. CountB. SumC. UBoundD. LBound答案:C7. 在VBA中,以下哪个事件用于在工作表被激活时触发?A. Worksheet_SelectionChangeB. Worksheet_ActivateC. Worksheet_BeforeDoubleClickD. Workbook_Open答案:B8. VBA中,以下哪个关键字用于定义一个过程?A. FunctionB. SubC. PropertyD. Const答案:B9. 在VBA中,以下哪个方法用于将一个工作簿保存为Excel 97-2003工作簿格式?A. SaveAsB. SaveC. ExportD. Close答案:A10. VBA中,以下哪个属性用于获取或设置单元格的宽度?A. WidthB. HeightC. ColumnWidthD. RowHeight答案:C二、填空题(每题2分,共20分)1. 在VBA中,使用________关键字可以定义一个变量。

VBA练习4(函数、表达式)含答案

VBA练习4(函数、表达式)含答案

VBA练习4(函数、表达式)含答案VBA练习四答案⼀、选择题1、下列逻辑表达式中,能正确表⽰条件“X和Y⾄少有⼀个是偶数”的是( A )。

A.X Mod 2=0 OR Y Mod 2=0B.X Mod 2=1 OR Y Mod 2=1C.X Mod 2=0 And Y Mod 2=0D.X Mod 2=1 And Y Mod 2=12、定义了⼆维数组A(3 to 5,6),则该数组的元素个数为( C )。

A.18B.27C.21D.303、有如下程序段:Dim str As String*10Dim iStr1="abcdefg"i=12len1=Len(i )str2=Right(str1,4)执⾏后,len1和str2的返回值分别是( C )。

A.12,abcdB.10,bcdeC.2,defgD.0,cdef4、以下可以得到“2+6=8”的结果的VBA表达式是( A )。

A.“2+6”&”=”& 2+6B.”2+6”+”=”+2+6C.2+6& “=”& 2+6D.2+6 +”=”+ 2+65、窗体上添加3个命令按钮,分别命名为command1、command2和command3,编写command1的单击事件过程,完成的功能为:当单击按钮command1时,按钮comand2可⽤,按钮command3不可见,以下正确的是( C )。

6、⽤于获得字符串str从第⼆个字符开始的3个字符的函数是( A )。

A .mid(str,2,3)B .middle(str,2,2)7、VBA代码调试过程中,能够显⽰出所有在当前过程中变量声明及变量值信息的是( C )。

A.本地窗⼝B.⽴即窗⼝C.监视窗⼝D.快速监视窗⼝8、在VBA中有返回值的处理过程是( C )A.声明过程B.Sub过程C.Function 过程D.控制过程9、InputBox函数返回值的类型为( B )。

vba编程练习题+近年真题.docx

vba编程练习题+近年真题.docx

VBA编程练习题1.假定有以下循环结构Do Until 条件循环体Loop则正确的叙述是A)如果“条件”值为0,则一次循环体也不执行B) 如果“条件”值为0,则至少执行一次循环体C)如果“条件”值不为0,则至少执行一次循环体D)不论“条件”是否为“真”,至少要执行一次循环体2.设有以下窗体单击事件过程:Private Sub Form_Click()For i = 1 To 3Select Case iCase 1, 3a 二 a + 1Case 2, 4a = a + 2End SelectNext iMsgBox aEnd Sub打开窗体运行后,单击窗体,则消息框的输出内容是 5 。

3.在窗体中添加一个命令按钮(名为Command 1)和一个文本框(名为textl),然后编写如下事件过程:Private Sub Commandl_Click()Dim x As Integer, y As Integer, z As Integerx = 5:y = 7:z = 0Me!Textl= 〃“Call pl (x, y, z)MelTextl =zEnd SubSub pl (a As Integer, b As Integer, By Vai c As Integer)c = a + bEnd Sub打开窗体运行后,单击命令按钮,文本框中显示的内容是O 4.以下程序段运行结束后,变量x的值为x=2y=4Dox 二x*y y 二y+1Loop Wh 订 e y<6A) 4 B) 40 C) 8 D) 205.在窗体上添加一个命令按钮(名为Commandl),然后编写如下事件过程:Private Sub Commandl_Click()For i=l To 4x=4For j=l To 3x二 3For k=l To 2x=2x=x+6Next kNext jNext iMsgBox xEnd Sub打开窗体后,单击命令按钮,消息框的输出结果是A)7 B) 15 C) 157 D) 86.设有如下代码:x=ldox 二x+31oop unti1 〉二10 或>7运行程序,要求循环体执行3次后结束循环,在空白处填入适当语句。

vba练习题

vba练习题

vba练习题VBA(Visual Basic for Applications)是一种用于自动化任务和定制应用程序的编程语言。

它广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word和Access等。

本文将为您提供一些VBA练习题,帮助您巩固和提升VBA编程技能。

1. 统计数字的和与平均值(Excel)在Excel中,有一个包含数字的单元格范围,请编写一个VBA宏,计算这些数字的总和和平均值,并将结果显示在工作表上。

解决方案:```Sub CalculateSumAndAverage()Dim rng As RangeDim cell As RangeDim sum As DoubleDim count As IntegerDim average As DoubleSet rng = Range("A1:A10") '将范围更改为您需要的范围sum = 0count = 0For Each cell In rngsum = sum + cell.Valuecount = count + 1Next cellaverage = sum / countRange("B1").Value = sumRange("B2").Value = averageEnd Sub```2. 计算阶乘(Excel)在Excel中,输入一个整数,请编写一个VBA宏,计算该整数的阶乘并在单元格中显示结果。

解决方案:```Sub CalculateFactorial()Dim num As IntegerDim result As Longnum = Range("A1").Value '输入要计算阶乘的整数result = 1If num >= 0 ThenFor i = 1 To numresult = result * iNext iEnd IfRange("B1").Value = resultEnd Sub```3. 寻找最大值和最小值(Excel)在Excel中,有一个包含数字的单元格范围,请编写一个VBA宏,找到这些数字的最大值和最小值,并将结果显示在工作表上。

VBA典型试题 及答案

VBA典型试题 及答案

1、编写程序,随机生成20个两位整数,并统计出其中小于等于60、大于60小于等于80及大于80的数据以及相应个数,结果打印输出到窗体。

Private Sub Form_Click()For i = 1 To 20a = Fix(Rnd() * 91 + 10)If a <= 60 Thenx = x & a & " "b = b + 1End IfIf a > 60 And b <= 80 Theny = y & a & " "c = c + 1End IfIf a > 80 Thenz = z & a & " "d = d + 1End IfNext iPrint "小于等于60的个数:" & b & "个," & xPrint "大于60小于等于80的个数:" & c & "个," & yPrint "大于80的个数:" & d & "个," & zEnd Sub2、编写程序:利用随机函数产生10个(59,142)范围内的随机整数,显示它们当中的最大值、最小值和平均值。

Private Sub Form_Click()Max = 60Min = 141For i = 1 To 10a = Fix(Rnd * 82 + 60)Sum = Sum + aIf a > Max Then Max = aIf a < Min Then Min = aPrint a;Next iPrintPrint "最大值:" & MaxPrint "最小值:" & MinPrint "平均值:" & Sum / 10End Sub3、编写程序,随机生成15个三位正整数,区间范围是(123,915],将其中的偶数与奇数分别输出到两个文本框中,并计算出奇数和偶数之和,用消息框输出结果。

vba考试题及答案

vba考试题及答案1. 以下哪个是VBA中的保留字?A. DimB. MyVarC. EndD. Hello答案:A, C2. 在VBA中,如何声明一个变量?A. Set myVar = 10B. myVar = 10C. Declare myVar As IntegerD. Option Explicit myVar As Integer答案:C, D3. VBA中哪个函数用于计算两个日期之间的天数差?A. DateDiffB. DateAddC. DateSubtractD. DateInterval答案:A4. 在VBA中,如何循环遍历一个数组的所有元素?A. For Each element In arrayB. For i = LBound(array) To UBound(array)C. While i <= UBound(array)D. Do While i <= UBound(array)答案:B5. VBA中如何使用If语句进行条件判断?A. If condition Then action Else actionB. If condition action Else actionC. If condition Then action End IfD. If condition action End If答案:C6. 在VBA中,哪个关键字用于定义子程序?A. FunctionB. SubC. ClassD. Module答案:B7. 如何在VBA中创建一个包含10个元素的整数数组并初始化为0?A. Dim myArray(10) As IntegerB. Dim myArray(0 To 9) As IntegerC. ReDim myArray(0 To 9)D. ReDim myArray(1 To 10)答案:B, D8. 在VBA中,哪个函数用于获取当前日期?A. NowB. DateC. TimeD. Today答案:D9. 如何在VBA中打开一个Excel工作簿?A. Workbooks.Open "filename.xlsx"B. Workbooks.Create "filename.xlsx"C. Workbooks.AddD. Workbooks.Save "filename.xlsx"答案:A10. 在VBA中,如何关闭当前活动工作簿而不保存更改?A. ActiveWorkbook.Close SaveChanges:=FalseB. ActiveWorkbook.Close SaveChanges:=TrueC. ActiveWorkbook.SaveD. ActiveWorkbook.Quit答案:A。

VBA考试题及答案

(25)若窗体Frm1中有一个命令按钮Cmd1,则窗体和命令按钮的Click事件过程名分别为A)Form_Click() Command1_Click()B)Frm1_Click() Command1_Click()C)Form_Click() Cmd1_Click()D) Frm1_Click() Cmd1_Click()(26)在VBA中,能自动检查出来的错误是A)语法错误B)逻辑错误C)运行错误D)注释错误(27)下列给出的选项中,非法的变量名是A)SumB)Integer_2C)Rem (注释)D)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语句“Dim NewArray(10) as Integer”的含义是A)定义10个整型数构成的数组NewArrayB)定义11个整型数构成的数组NewArrayC)定义1个值为整型数的变量NewArray(10)D)定义1个值为10的变量NewArray(31)运行下列程序段,结果是For m=10 to 1 step 0k=k+3Next mA)形成死循环B)循环体不执行即结束循环C)出现语法错误D)循环体执行一次后结束循环(32)运行下列程序,结果是Private Sub Command32_Click()f0=1:f1=1:k=1Do While k<=5f=f0+f1f1=fk=k+1LoopMsgBox "f="&fEnd SubA)f=5B)f=7C)f=8D)f=13(33)有如下事件程序,运行该程序后输出结果是Private Sub Command33_Click()Dim x As Integer,y As Integerx=1:y=0Do Until y<=25y=y+x*xx=x+1LoopMsgBox "x="&x&",y="&yEnd SubA)x=1,y=0B)x=4,y=25C)x=5,y=30D)输出其他结果(34)下列程序的功能是计算sum=1+(1+3)+(1+3+5)+......+(1+3+5+ (39)Private Sub Command34_Click()t=0m=1sum=0Dot=t+msum=sum+tm=______Loop While m<=39MsgBox "Sum="&sumEnd Sub为保证程序正确完成上述功能,空白处应填入的语句是A)m+1B)m+2C)t+1D)t+2(35)下列程序的功能是返回当前窗体的记录集Sub GetRecNum()Dim rs As ObjectSet rs=______MsgBox rs.RecordCount为保证程序输出记录集(窗体记录源)的记录数,空白处应填入的语句是A)RecordsetB)Me.RecordsetC)RecordSourceD)Me.RecordSource答案:CACADBBDABB。

vba练习题

vba练习题VBA练习题VBA(Visual Basic for Applications)是一种用于编写Microsoft Office应用程序的编程语言。

它可以帮助用户自动化重复性任务、增强数据处理能力,并提高工作效率。

为了熟悉和掌握VBA,我们可以通过一些练习题来提高自己的编程技能。

本文将介绍一些常见的VBA练习题,帮助读者更好地理解和应用VBA。

1. 遍历工作表编写一个VBA宏,可以遍历当前工作簿中的所有工作表,并输出每个工作表的名称。

这个练习可以帮助我们了解如何使用循环结构和对象模型来操作Excel 工作表。

2. 数据筛选编写一个VBA宏,可以根据指定条件筛选Excel表格中的数据。

例如,我们可以根据某一列的数值大小或文本内容来筛选数据,并将符合条件的数据复制到另一个工作表中。

这个练习可以帮助我们学习如何使用条件语句和循环结构来实现数据筛选功能。

3. 数据处理编写一个VBA宏,可以对Excel表格中的数据进行处理和计算。

例如,我们可以编写一个宏来计算某一列的平均值、求和或者进行其他数学运算。

这个练习可以帮助我们学习如何使用函数和变量来进行数据处理和计算。

4. 用户界面编写一个VBA宏,可以创建一个用户界面,用于输入参数和选择操作。

例如,我们可以创建一个对话框,让用户输入需要处理的数据范围和计算方式,然后根据用户的选择执行相应的操作。

这个练习可以帮助我们学习如何创建用户界面和处理用户输入。

5. 文件操作编写一个VBA宏,可以对Excel文件进行操作,如打开、保存和关闭文件。

例如,我们可以编写一个宏来自动打开指定路径下的所有Excel文件,并将它们合并到一个新的工作簿中。

这个练习可以帮助我们学习如何使用文件对象和文件操作方法来进行文件处理。

通过以上练习题,我们可以逐步掌握VBA的基本语法和常用功能,提高我们的编程能力。

在实际应用中,我们可以根据具体需求进行扩展和深入学习,进一步提升VBA的应用水平。

VBA编程基础考试

VBA编程基础考试(答案见尾页)一、选择题1. VBA中,用于执行宏的操作是哪个命令?A. RunMacroB. ExecuteMacroC. RunCodeD. RunScript2. 在VBA中,若要引用一个窗体上的控件,应该使用哪种方式?A. 通过控件的名称B. 通过控件的索引号C. 通过控件的标题D. 通过控件的父级控件3. VBA中,能够用来声明变量的关键字是哪个?A. DimB. PrivateC. PublicD. Static4. 在VBA中,如何跳出当前循环?A. 使用break语句B. 使用continue语句C. 使用return语句D. 使用exit语句5. VBA中,数组的维数是由什么决定的?A. 定义时指定的长度B. 定义时指定的下标范围C. 定义时指定的上下界D. 定义时指定的大小6. VBA中,函数参数的传递方式是按值传递还是按引用传递?A. 按值传递B. 按引用传递C. 可以在函数定义时指定D. 以上都不对7. VBA中,用来表示字符串的长度的函数是什么?A. LenB. StrC. FixD. Round8. 在VBA中,如何实现文件的读写操作?A. 使用Write函数B. 使用Read函数C. 使用Open函数D. 使用Close函数9. VBA中,判断一个对象是否为数字的方法是什么?A. IsNumericB. IsIntegerC. IsDateD. IsObject10. 在VBA中,如何获取窗体的当前位置?A. 使用GetPosition方法B. 使用GetTop方法和GetLeft方法C. 使用GetWindow函数D. 使用GetParent方法11. VBA中,用于声明变量的关键字是?B. SetC. PrivateD. Public12. 在VBA中,能够引用窗体或报表对象的属性是?A. NameB. CaptionC. EnabledD. Style13. VBA中,用于打开窗体的方法是什么?A. ShowB. OpenC. CloseD. Refresh14. 在VBA中,如何使用Mid函数从字符串中提取子字符串?A. Mid(string, start[, length])B. Left(string, length)C. Right(string, length)D. Replace(string, find, replaceWith)15. VBA中,判断一个对象是否为空对象的方法是什么?A. IsNullB. IsEmptyC. IsObjectD. IsTrue16. 在VBA中,如何将一个数组的所有元素初始化为?A. ReDim arrayName(1 To 10) = 0B. Erase arrayNameC. Dim arrayName(1 To 10) = 0D. Store 0 in arrayName17. VBA中,用于计算字符串长度的方法是什么?B. ConcatenateC. RightD. Replace18. 在VBA中,如何声明一个局部变量?A. Dim 变量名 As 类型B. Private 变量名 As 类型C. Public 变量名 As 类型D. Static 变量名 As 类型19. VBA中,如何使用Choose函数根据条件返回不同的值?A. Choose(index, [value1], [value2], ..., [valueN])B. If(index = 1, value1, If(index = 2, value2, ...))C. Select caseD. While20. 在VBA中,如何将一个数组的元素按照一定的顺序排序?A. SortB. SortArrayC. OrderByD. GroupBy21. VBA中,用于声明变量的关键字是:A. DimB. PrivateC. PublicD. Static22. 在VBA中,以下哪个函数可以用来计算字符串的长度?A. LenB. StrC. LeftD. Right23. VBA中,用于打开一个文件并执行读操作的语句是:A. Open "文件名" For Input As #1B. Open "文件名" For Output As #1C. Create "文件名"D. Assign24. VBA中,用于插入新的记录的SQL语句是:A. INSERT INTOB. DELETE FROMC. UpdateD. Create25. 在VBA中,如果一个窗体的Caption属性被设置为"这是窗体",那么在代码中通过这个属性获取到的值是:A. "这是窗体"B. ThisFormC.窗体D. Forms(0)26. VBA中,用于将一个数组的所有元素初始化为的语句是:A. ReDimB. EraseC. ClearD. Fill27. 在VBA中,如果一个控件的名称改为"MyButton",那么在代码中通过这个控件获取到的对象引用是:A. ThisForm.MyButtonB. Me.MyButtonC. Forms(0).MyButtonD.控件集合28. VBA中,用于将字符串中的所有字符转换为大写字母的语句是:A. UCaseB. LCaseC. MidD. Left29. 如果一个VBA程序无法成功运行,为了进行调试,你应使用哪种方法来查看程序代码?A. 使用菜单命令“视图”中的“代码窗口”B. 使用调试器C. 查看源代码D. 阅读错误信息30. 在VBA中,以下哪个函数用于返回字符串的长度?A. LenB. StrC. LeftD. Right31. VBA是什么编程语言?A. C++B. JavaC. Visual Basic for ApplicationsD. Python32. 在VBA中,可以使用哪些数据类型?A. IntegerB. DoubleC. StringD. Boolean33. VBA中的变量声明方式是:A. varB. dimC. publicD. private34. 在VBA中,如何定义数组?A. Dim arr() As IntegerB. Dim arr(10) As IntegerC. ReDim arr(10)D. Dim arr() As Object35. VBA中循环结构包括哪种?A. For...NextB. While...WendC. Do...LoopD. For Each...Next36. VBA中条件判断语句有哪几种?A. If...ThenB. If...Then...ElseC. If...Then...ElseIfD. Select...Case37. VBA中函数有哪些基本功能?A. 计算B. 逻辑运算C. 字符串处理D. 数据转换38. 在VBA中,如何进行错误处理?A. On Error Resume NextB. On Error GoTo 0C. Catch...FinallyD. None of the above39. VBA中数据库访问常用对象有哪些?A. ConnectionB. CommandC. RecordsetD. Parameter40. 在VBA中,如何实现模块间的参数传递?A. 通过全局变量B. 通过形参和实参C. 通过事件D. 通过库函数二、问答题1. 什么是VBA?它在编程中的作用是什么?2. VBA有哪些基本数据类型?3. 请解释VBA的变量声明和赋值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一部分(模块与VBA编程基础<习题8>)(p1~p6)一、选择题(1~17)(p1-p3):1.VBA中定义符号常量可以用关键字A)Const B)Dim C)Public D)Static2.Sub过程和Function过程最根本的区别是A)Sub过程的过程名不能返回值,而Function过程能通过过程名返回值B)Sub过程可以使用Call语句或直接使用过程名,而Function过程不能C)两种过程参数的传递方式不同D)Function过程可以有参数,Sub过程不能有参数3.定义了二维数组A(2 to 5,5),则该数组的元素个数为A)25 B)36 C)20 D)244.已知程序段:s=0For i=1 To 10 step 2s=s+1i=i*2Next i当循环结束后,变量i的值为a,变量s的值为b。

a. A)10 B)11 C)22 D)16b.A)3 B)4 C)5 D)65.以下内容中不属VBA提供的数据验证函数是A)IsText B)IsDate C)IsNumeric D)IsNull6.已定义好有参函数f(m),其中形参m是整型量。

下面调用该函数,传递实参为5将返回的函数值赋给变量t.以下正确的是A)t=f(m) B)t=Call(m) C)t=f(5) D)t=Callf(5)7.在有参函数设计时,要想实现某个参数的“双向”传递,就应当说明该形参为“传址”调用形式。

其设置选项是A)ByVal B)ByRef C)Optional D)ParamArray8.在VBA代码调试过程中,能够显示出所有在当前过程中变量声明及变量值信息的是A)快速监视窗口 B)监视窗口C)立即窗口 D)本地窗口9.VBA的逻辑值进行算术运算时,True值被当作A)0 B)-1 C)1 D)任意值10.VBA中不能进行错误处理的语句结构是A)On Error Then标号 B)On Error Goto 标号C)On Error Resume Next D)On Error Go 10011.VBA中用实际参数a和b调用有参过程Area(m,n)的正确形式是A)Aream,n B)Area a,b C)Call Area(m,n) D)Call Area a,b 12.给定日期DD,可以计算该日期当月最大天数的正确表达式是A)Day(DD)B)Day(DateSerial(Year(DD),Month(DD),Day(DD)))C)Day(DateSerial(Year(DD),Month(DD),0))D)Day(DateSerial(Year(DD),Month(DD)+1,0)13.下列关于宏和模块的叙述中,正确的是A)模块是能够被程序调用的函数B)通过定义宏可以选择或更新数据C)宏或模块都不能是窗体或报表上的事件代码D)宏可以是独立的数据库对象,可以提供独立的操作动作14.有如下VBA代码,运行结束后,变量n的值是n=0For i=1 TO 3Forj=-4 To -1n=n+1NextjNext iA)0 B)3 C)4 D)1215.假设有如下Sub过程:Sub sfun(x As Single,Y As Single)t=xx=t/yy=t mod y ‘mod求余计算例7 mod 4 =3 End Sub在窗体中添加一个命令按钮(名为Comnndl),编写如下事件过程Private Sub Commandl_Click()Dim a As SinSleDim b As SinSlea=5:b=4sfun(a,b) ‘原书有错,改为:sfun a,b或call sfun(a,b) MsgBox a & chr(10) + chr(13) & b ‘chr(数值)的功能返回数值对应的字母End Sub ‘chr(10)=’返回1个换行符‘chr(13)=’返回一个空格符号注意:a → x ; b → y 是按地址传递的,因此不能写成sfun 5,4chr与Asc互逆例asc(a)=97 ; chr(97)=a asc(chr(97))=97打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为A)1和1 B)1.25和l C)1.25和4 D)5和416.有如下VBA程序段:sum=0n=0For i=1 TO 5x=n/in=n+1slim=sumNext i以上For循环计算sum,完成的表达式是A)1+1/1+2/3+3/4+4/5 B)1+1/2+1/3+1/4+1/5C)1/2+2/3+3/4+4/5 D)1/2+1/3+1/4+1/517.在窗体中有一个命令按钮runl6,对应的事件代码如下:Private Sub runl6_Enter()Dim num As IntegerDim a As IntegerDim b As Integer .Dim i As IntegerFor i=1 To 10num=InputBox("请输入数据:","输入",1)if Int(num/2)=num/2 Then ‘Int取整函数例int(3.5)=3a=a+1Elseb=b+1End lfNext IMsgBox("运行结果:a="& Str(a) & ",b=" & Str(b))End Sub ‘str(123)=”123”将123转换成字符串与val互逆。

例:Val(str(123))=123 运行以上事件所完成的功能是A)对输入的10个数据求累加和B)对输入的10个数据求各自的余数,然后再进行累加c)对输入的10个数据求分别统计有几个是整数,有几个是非整数D)对输人的10个数据求分别统计有几个是奇数,有几个是偶数二、填空题(1~25)(p4—p6)1.VBA的全称是Visual Basic for Application。

2.模块包含了一个声明区域和一个或多个子过程(以Sub开头)或函数过程(以Function开头)。

3. 说明变量最常用的方法,是使用Dim … As …结构.4.VBA中变量作用域分为3个层次,这3个层次是局部变量、模块变量和全局变量。

5.在模块的说明区域中,用private关键字说明的变量是模块范围的变量;而用public或Global键字说明的变量是属于全局范围的变量。

6.要在程序或函数的实例间保留局部变量的值,可以用Static关键字代替Dim。

7.用户定义的数据类型可以用Type…Type End关键字间说明。

8.VBA的3种流程控制结构是顺序结构、选择结构和循环结构。

9.VBA中使用的3种选择函数是IIf、Switch和Choose。

10.VBA提供了多个用于数据验证的函数。

其中IsDate函数用于合法日期验证;IsNumeric函数用于判定输入数据是否为数值。

11.VBA的有参过程定义,形参用ByVal说明,表明该形参为传值调用;形参用ByRef说明,表明该形参为传址调用.12.VBA的错误处理主要使用On Error语句结构。

13.On Error Goto 0语句的含义是取消错误处理。

14.On Error Resume Next语句的含义是忽略错误并执行下一条语句。

15.VBA语言中,函数lnputBox的功能是输入数据对话框;Msgbos函数的功能是显示消息信息。

16.在VBA中双精度的类型标识是Double。

17.在VBA中,分支结构根据条件(或条件表达式)选择执行不同的程序语句。

18.VBA的逻辑值在表达式当中进行算术运算时,True值被当作-1、False值被当作0来处理。

19.VBA编程中,要得到[15,75]上的随机整数可以用表达式Int(15+61*Rnd). 20.设有如下代码:X=1Dox=x+2Loop Until x=7 (或x>=7 或 x>6)运行程序,要求循环体执行3次后结束循环,请在空白处填入适当的语句21.设有以下窗体单击事件过程:Private Sub Form_Click()a=1for i=1 to 3Select Case iCase 1,3a=a+1Case 2,4a=a+2end SelectNext iMsgBox aEnd Sub打开窗体运行后,单击窗体,则消息框的输出内容是5。

22.在窗体中添加一个命令按钮(名为Commandl)和一个文本框(名为Textl),编写事件代码如下Private Sub Commandl Click()Dim a As Integer,y As Integerx=5:y=7:z=0Me!Textl=" "Call Pl(x,x,z)Me!Textl=zEnd SubPrivate p1(a As Integer,b As Integer,c As Integer)c=a+bEnd Sub打开窗体后,单击命令按钮,文本框中显示的内容是1223.在下面的VBA程序段运行时,内层循环的循环次数是9For m=0 To 7 Step 3For n = m-1 To m+1Next nNext m24.在窗体中使用一个文本框(名为numl)接受输入值,有一个命令按钮run,单击事件代码如下Private Subrun_Click()If Me!num1>=60 ThenResult="及格"Else If Me!numl>70 ThenResult="通过"Else If Me!numl>85 ThenResult="合格"End Sub打开窗体后,若通过文本框输入的值为85,单击命令按钮,输出结果是及格。

25.在窗体中有一个名为Command25的命令按钮,Click事件代码如下。

该事件的完整功能是:接受从键盘输入的10个大于0的整数,找出其中的最大值和对应的输入位置。

请依据上述功能要求将程序补充完整。

Private Sub Command25_Click()Max=0max_n=0For i=l To 10num=Val(InputBox("请输入第"& i &"个大于0的整数:"))If num>max Thenmax=nummax_n=iEnd IfNext iMsgBox("最大值为第" & max_n & "个输入的" & max)End Sub第二部分(数据库编程<习题9>)(p7~p13)一、选择题(1~9)(p7---p8)1.以下内容中不属VBA提供的数据验证函数是A)IsNull B)IsDate C)lsNumeric D)IsText2.VBA"定时”操作中,需要设置窗体的“计时器间隔(TimerInterval)”属性值。

相关文档
最新文档