问题 单项选择题

在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序:
Public x As integer
Private Sub Command1_Click()
x=10
Call s1
Call s2
MsgBox s
End Sub
Private Sub s1()
x=s+20
End Sub
Private Sub s2()
Dim x As integer
x=x+20
End Sub
窗体打开运行后,单击命令按钮,则消息框的输出结果为

A.10

B.30

C.40

D.50

答案

参考答案:B

解析: 本题考查的是VBA编程基础、变量的作用域。本题使用Call关键字调用子过程s1,s2。x=10在调用子过程s1后,x=30,但由于在s1中直接使用变量,所以该值的作用范围是局部的,即只限于s1子过程中,没有传回。在调用s2时,由于s2使用Dim…As关键字定义x,所以其值是模块范围的。故在消息框中输出的值,是从子过程s2传回的值。

问答题 简答题
单项选择题