Excel中除MsgBox之外的消息警报?
Posted
技术标签:
【中文标题】Excel中除MsgBox之外的消息警报?【英文标题】:Message alert other than MsgBox in Excel? 【发布时间】:2015-04-09 07:49:26 【问题描述】:除了 MsgBox 之外,还有其他方法可以在 Excel 中显示消息吗?
我在考虑安全警报/启用宏警报样式。我可以使用相同的空间来显示一些文本吗?
我正在尝试通知用户而不需要他们点击按钮。
【问题讨论】:
我不确定如何访问顶部的黄色框,但有两种选择 1. 您可以将 Alert is some cell 放在活动表中。 2.您可以放一个msgbox并自动点击“确定”,这样用户就不需要采取任何行动。 密切相关:***.com/questions/5459734/… 【参考方案1】:如果您想在不需要用户交互的情况下显示消息,您可以创建一个用户表单并显示它无模式,这意味着在显示表单后,您的 VBA 的正常执行将继续。 p>
示例(表单 = “UserMsgBox”,标签 = “Label1”)
Sub Test()
UserMsgBox.Show vbModeless
UserMsgBox.Label1.Caption = "This is my 1st message to you"
UserMsgBox.Repaint
Application.Wait Now + TimeValue("00:00:02")
UserMsgBox.Label1.Caption = "This is my 2nd message to you"
UserMsgBox.Repaint
Application.Wait Now + TimeValue("00:00:02")
UserMsgBox.Label1.Caption = "This is my 3rd and last message to you"
UserMsgBox.Repaint
Application.Wait Now + TimeValue("00:00:02")
UserMsgBox.Hide
End Sub
其次,您可以使用在Excel应用程序窗口底部的状态栏区域显示文本
Application.StatusBar = "My bottom line message to you"
【讨论】:
如果无法访问 Excel 安全/启用宏栏,那么这就是要走的路。谢谢。【参考方案2】:我宁愿使用 OnTime 来安排任务,而不是使用 Wait。等待可能会阻止所有其他 Excel 活动。因此,用户几乎必须等到表单消失。使用 OnTime,用户仍然可以同时选择做某事。所以,这是我的建议(也使用 Form 方法):
Public Sub showform()
Load UserForm1
UserForm1.StartUpPosition = 0
UserForm1.Left = Application.Left + Application.Width * 0.9 - UserForm1.Width
UserForm1.Top = Application.Top + Application.Height * 0.9 - UserForm1.Height
UserForm1.Show (False)
Application.OnTime Now + TimeValue("0:00:05"), "closeform"
End Sub
Public Sub closeform()
UserForm1.Hide
Unload UserForm1
End Sub
【讨论】:
这如何解决这个问题? 你肯定会...我的上面只是一个快速而肮脏的演示,展示了在显示表单后推进的 VBA...实际上这里的关键是在您更改了Repaint
之后Label1
的标题
我喜欢您的方法是将表单绝对定位到方便的区域。 OTOH,为了清楚起见,我建议使用预定义的常量 vbModeless
而不是通用的 False
。【参考方案3】:
您可以使用这种类型的消息框来代替默认的 VBA MsgBox。它支持Unicode
Application.Assistant.DoAlert "Hoc Excel Online Title", "your message", 0, 4, 0, 0, 0
【讨论】:
【参考方案4】:在回答问题时,请参阅下面的链接以获取所有类型的 msgbox 列表
以下使用的语法 - 希望这会有所帮助!
MsgBox("Some Text", vbCritical, "Message title")
https://msdn.microsoft.com/en-us/library/139z2azd%28v=vs.90%29.aspx
干杯
【讨论】:
以上是关于Excel中除MsgBox之外的消息警报?的主要内容,如果未能解决你的问题,请参考以下文章
当另一个框在excel(VBA)中具有特定值时,如何引用msgBox中的单元格。
在EXCEL中用VBA操作WORD表格:怎样选择一个表格中除第一行以外的任意连续行(比如第2到4行)?