在单元格中具有输入值的动态/自定义消息

时间:2019-01-06 05:04:18

标签: excel vba excel-formula

有什么方法可以在单元格中显示带有输入值的数据验证消息。

示例::一个单元格被限制输入5到10之间的值,如果我输入的值为11,则应显示以下消息: “ 11 不在单元格限制值之内”。

我知道我们可以输入自定义消息(单元格>数据>数据验证>错误警报),但我希望该消息不仅显示通用消息,还显示当前输入的值以及我的自定义消息。 并且如果可能的话,我希望将来将该错误行连接到该特定行的任何其他现有列值。

因此,任何人都可以在以下查询中为我提供建议:

  1. 如何显示带有消息的单元格输入值
  2. 还有该特定行不同列的另一个单元格值。

谢谢!

1 个答案:

答案 0 :(得分:0)

在不使用数据验证的情况下,此代码将检查您定义的范围内的更改。然后将在该范围内更改的单元格的值与您设置的条件(在这种情况下为5到10)进行比较。

让我知道这是否可以满足您的需求:

(复制并粘贴到需要此验证的工作表上)

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("B2:B10")) Is Nothing Then 'Change the range as you need
        If Target = "" Then Exit Sub 'If the value is deleted, do nothing
        If Target < 5 Or Target > 10 Then 'Validation condition(s)
            MsgBox Target & " does not come under cell restriction value" 'The message will show the value in the changed cell (Target)
            Target = "" 'Delete the not valid value
        End If
    End If
End Sub

您还可以在同一代码表中使用以下代码来获取更改的单元格的行,并在同一行和不同的列中找到另一个值:

Me.Range("A" & Target.Row)