问题
单项选择题
在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序:
Public x As Integer
Private Sub(20mmand1_Click()
x=10
Call s1
Call s2
MsgBox x
End Sub
Private Sub s1()
x=x+20
EndSub
Prirate Sub s2()
Dim x As Integer
x=x+20
End Sub
窗体打开运行后,单击命令按钮,则消息框的输出结果为( )。
A) 10
B) 30
C) 40
D) 50
答案
参考答案:B
解析: 此题考查考生对VBA代码中子程序调用及变罱的定义。在程序中,首先将变量x定义为公共变量,并赋值为10,然后调用子过程s1,在子程序s1中,变量x加20后重新赋值给变量x,此时x的值为30;返回主程序后,再次调用子过程s2,但在s2中首先定义了一个独立变量x,独立变量只能在所在过程中访问,完成过程后,变量失效,变量中的值消失,下次调用该过程,需重新声明。然后对该变量进行赋值(x=x+20),此时公共变量x的值未变,所以在消息框中显示为30。选项B)正确。