在msgbox之后更改工作表

时间:2013-06-25 16:31:30

标签: excel excel-vba vba

我想在msgbox上点击'ok'后打开一个特定的工作表。所以,如果我在'sheet1'中运行一个循环,会出现一个msgbox并说'找到x个记录',然后点击'ok'后,'sheet2'会打开。这可能吗?

2 个答案:

答案 0 :(得分:0)

Msgbox是模态的,代码执行将在打开时停止,它们也会返回一个值(取决于按下的按钮)

下面的示例将消息框的响应放入response,然后使用if运行代码,具体取决于响应。

Sub Main()
Dim Response As VbMsgBoxResult

' Do Processing stuff here

Response = MsgBox(Prompt:="Prompt!", Buttons:=vbOKCancel, Title:="Title!")

If Response = vbOK Then
    ' Do stuff for OK
Else
    ' Do nothing or something else
End If

End Sub

If是可选的,如果您不在乎按下了什么按钮,您可以在调用msgbox()之后放置所有代码,并在消息框关闭时执行。

答案 1 :(得分:0)

Sub Sample()     
'Your Loop    
Msgbox "Loop Finished!" & vbcrlf & "Found x records"    
Sheets("Sheet2").Activate    
End Sub