如何解决如何通过在一行中搜索一定范围的列直到在VBA中包含文本的最后一行来删除重复项?
我需要编写一个宏,如果它们出现在D,E,F,G列中,则将从J-P列中删除重复的单词。另外,如果关键字在J-P范围内出现两次,则需要将其删除。
This is how the data looks like
在所附图片中,需要删除单元格J2中的单词“ carta”,因为它已经存在于E2中,对于part_number来说是相同的。同样,单词“ scuola”出现了两次(单元格M2和O2),因此应将其删除。 另外,我将需要宏针对它在单元格A中找到的所有行运行,并在将其删除为红色后为空单元格着色,以便用户在运行宏后知道缺少关键字。
如果您对VBA感到陌生,请告诉我是否有任何建议可以尝试。
解决方法
请尝试下一个代码。它应该非常快,使用数组,并且所有处理都在内存中完成。最后,它立即丢弃处理结果。出于测试原因,它从“ R2”开始返回结果。这样,您可以将结果与想要完成的结果进行比较。如果一切看起来都可以满足您的需要,则只需修改最后的代码行,只需将Process
更改为sh.Range("R2")
,您现有的内容就会被处理后的数组内容覆盖:
sh.Range("J2")
请注意A:A列中的行数与要处理的列中的行数相同...
我建议您在某些行上测试代码,如果一切看起来不错,请在整个现有范围内进行测试。它也应该很快,但是没有类似于测试的内容,请发送一些反馈。
已编辑:
现在,代码内部用红色修改了颜色。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。