【发布时间】:2020-07-30 01:33:23
【问题描述】:
所以我有一个用户输入数据的论坛,我需要在输入数据时对重复值进行 2 次不同的检查。
现在我有其他检查发生,它根据正在处理的列调用模块。所以这些代码将放在单独的模块中(我让调用将 row_value 传递给模块。
x = row_value
所以我的范围代码看起来像:Range("E" & x).Value
我需要查看的范围是来自E7:G307
我需要的第一个代码是查看他们刚刚输入/修改的Range("E" & x).Value 是否已经存在于该E 列的任何其他单元格中。如果是这样,则显示一条引用重复行的消息#
因此,如果他们将“左髋”输入到单元格E10,它会检查E7:E307 中的所有其他单元格,以查看“左髋”是否在任何其他E 单元格中使用,然后说E7 = Left Hip ,然后显示一条消息:`"Duplicate found on Line 7"
我需要的第二个代码是相似的,除了我需要它同时查看 2 列是否有重复项。 F & G,如果匹配显示一条引用重复行的消息#
因此,如果他们在单元格F10 中输入“Wasted”,在单元格G10 中输入“水”,那么它会查看 F7:G307 中的所有其他单元格,以查看同一单元格上是否存在匹配项线。因此,如果 F7 = "Wasted" 和 G7 = "Trash" 没有匹配,但它是 G7 = "Water",那么这两个列都匹配。然后显示一条消息"Duplicate found on Line 7"
请注意,我会在他们输入“G”列后进行此检查。
不确定您还需要什么其他信息,请随时询问并感谢您的帮助。
注意:我尝试使用Range.Find 方法,但无法正常工作。我只是不太了解它,我查看了示例,但再次不确定如何使其适应我的需求。
【问题讨论】:
-
您已经在解决您的问题的轨道上,因为您正专注于您希望程序执行的操作的要求。使用
Range.Find方法可以正常工作,创建Dictionary并使用它进行快速查找以及其他技术也是如此。每个开发人员都会以他们自己的“最佳方式”稍微不同地解决它。如果您发布您尝试过的代码并描述错误(以及错误发生在哪一行),我们可以为您提供帮助。
标签: excel vba duplicates find msgbox