Excel VBA ——msgbox对话框响应动作
1、常见的按钮的分类如下图所示
2、如图 所示,利用代码向A 列中填入1 ~ 100 的序号。要求每隔5行提示一次,如果单击【是】按钮则继续填充,单击【否】按钮就中止填充。
3、Sub 填充数据()
Dim x, y As Integer 'x为行号,y为按钮代表的数字
For x = 1 To 100
Cells(x, 1) = x
If x Mod 5 = 0 Then
'第二参数为4,故只有【是】或【否】两个按钮
y = MsgBox("是否继续填充", 4)
If y = 7 Then 'y=7为msgbox【否】的返回值
Exit Sub
Else
End If
End If
Next x
End Sub
4、程序解释:
(1)For x= 1 To 100:设置x 在1 ~ 100 之间进行循环。
(2)If x Mod 5 = 0 Then :判断当前值是否能被5 整除。其中Mod 是计算余数的运算符,如5Mod 2 的余数为1; 4 Mod 2 的余数为0。这里用除以5 的余数是否为0:来判断是否为5 的倍数。
(3)Cells(x, 1) = x:设置当A 列的当前行的单元格等于当前的数值,如当X=4时,Cells( 4, 1 )的值(即A4 的值)等于4。
(4)y =MsgBox("是否要继续填充数据”, 4):把单击对话框的按钮值赋予变量y 。这里值得注意的是,如果要取得函数的返回值,必须在函数名称后添加括号。
(5)If y = 7 Then Exit Sub : 当单击了【是】按钮时,退出程序。因为7 是单击对话框【否】按钮的返回值,所以可以用y 的值是否为7 来判断是否单击了【否】
5、执行代码结果如下图所示:
6、当单击是之后,继续执行结果如下图所示(单击否则退出程序)