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之外的消息警报?的主要内容,如果未能解决你的问题,请参考以下文章

Qt入门教程对话框篇QMessageBox消息对话框

当另一个框在excel(VBA)中具有特定值时,如何引用msgBox中的单元格。

在EXCEL中用VBA操作WORD表格:怎样选择一个表格中除第一行以外的任意连续行(比如第2到4行)?

选择向量中除一个之外的所有元素

如何删除 Core Data 存储中除一个对象之外的所有对象?

删除 MySQL 中除 One 之外的所有重复行? [复制]