如果两列在其行中具有相等的值,我如何实现对话框消息?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果两列在其行中具有相等的值,我如何实现对话框消息?相关的知识,希望对你有一定的参考价值。

我有分发给管理员的工作表和列A:O被锁定(受保护的工作表),但是P:T列可以使用一些下拉验证列表进行编辑。

如果管理员在列S(单元格S2)中输入数据并且从下拉列表中选择它们的选择=与列O(单元格O2)中的值相同,那么我想要一个对话框来显示它们不能输入相同的值什么是数据已经。

我在想这样的东西,但它不起作用:

rng 1 =列O,rng 2 =列S.

Dim rng1 As range, rng2 As range
lastrow = ActiveWorkbook.Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).row

Set rng1 = Range("O2:O" & lastrow)
Set rng2 = Range("S2:S" & lastrow)

If rng1.value = rng2.value Then
    -dialogue box "You cannot input the same %"
End If

我想要它所以mgr无法输入相同的值

这可能吗?

答案

如果您想要更直接的东西,可以使用Worksheet_Change()事件在输入值时立即显示对话框 - 并清除值。

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim watchRng As Range
    Set watchRng = Me.Columns("S")

    If Not Intersect(Target, watchRng) Is Nothing Then

        If Target.Value = Me.Cells(Target.Row, "O").Value Then

            Application.EnableEvents = False

            MsgBox "You cannot input the same %"
            Target.ClearContents

            Application.EnableEvents = True

        End If

    End If

End Sub

这需要放在工作表的代码模块中,以便正常工作。

以上是关于如果两列在其行中具有相等的值,我如何实现对话框消息?的主要内容,如果未能解决你的问题,请参考以下文章

检查输入的值是不是与数据库中其行中的另一个相关联

如何比较两列之间的值是不是具有相同的数字〜熊猫

pyspark:如果列在不同行中具有相同的值,则合并两行或多行

如何分离从表行中获取的值并将其存储在雪花中的数组中

如何选择在两列中具有相同值集的行,从而连接第三列中的值?

比较 ClickHouse 行中的两个数组