繁体   English   中英

基于单元格值创建 VBA 消息框

[英]Create a VBA Message Box Based on Cell Value

所以,这应该很容易实现,但我无法显示消息框。

上下文 - 这是一个估计工具 - 如果用户为特定单元格输入一个小于最小阈值的值,我想显示一个消息框,让他们知道这不是一个有效的条目。

我所指的单元格被命名(让我们只说TEST )。 它的位置在UI选项卡上(工作簿中的 4 个选项卡之一)是第 47 行第 17 列。

这是我到目前为止尝试过的代码:

Sub UI Alerts()
    If Cells(47, 17) < "1000" Then
        MsgBox ("Minimum Value is 1000")
        Exit Sub
    End If

同样,对于命名单元格

Sub UI Alerts()
    If ("TEST").value < "1000" Then
        MsgBox ("Minimum Value is 1000")
        Exit Sub
    End If

我已经在对应于 UI 选项卡的 VBA 模块中进行了设置,因此我不必引用该工作表。 知道为什么消息框没有显示吗? 是否可以根据单元格值自动显示消息框?

谢谢。

除非有特定原因我们需要将其作为宏,否则听起来标准数据验证在这里对您有用。 试试这个:选择你想要应用规则的单元格,然后在功能区/工具栏上找到数据 > 数据验证。 您可以要求大于 1,000 的整数(或另一个单元格中的值),在用户选择单元格时显示带有说明的注释框,如果输入了无效数字,则显示错误消息。

您需要在工作表中使用 Change 事件。 下面是一个适用于您的命名范围的示例代码。 无论如何,它应该告诉你如何做到这一点。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("TEST").Address Then
        If Range("TEST").Value < 1000 Then
            MsgBox ("Minimum Value is 1000")
        End If
    End If
End Sub

您需要将代码添加到工作表“更改”事件中。

现在,您有代码,但它永远不会被调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM