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

时间:2018-04-16 18:50:58

标签: excel vba excel-vba

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

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

我所指的单元格被命名(让我们说#34; TEST")。它的位置在" UI"选项卡(工作簿中的4个选项卡中的1个)是第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模块中进行了设置,因此不必引用该表。知道为什么消息框没有显示?是否可以根据单元格值自动显示消息框?

感谢。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

如果您需要更多有关活动的说明,可以查看有关活动的cpearsons页面:http://www.cpearson.com/excel/events.aspx

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

答案 2 :(得分:-1)

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

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