VBA的人类控制和f功能是否等效?
基本上我有两张非常长的纸张,它们有一些共同的值,但有一些独特的值,我试图将它们合并为一个。
执行此操作的简单代码方式是通过两个嵌套循环 - 运行列表B,直到找到匹配列表A,然后移动到列表A的下一个条目并再次运行到列表B中。
效率非常低。
有没有简单的方法告诉代码只是在另一张纸上快速找到这个单元格中的数据位然后匹配这些行?
答案 0 :(得分:0)
作为一个人,你会循环第一张,复制第一张格子,切换到第二张,然后 Ctrol - F 找到文字,执行你的根据您是否找到它,然后返回到表单1.根据,冲洗,重复。
这正是您的代码应该做的事情。使用Worksheets("Sheet2").Range().Find
代替 Ctrol - F 。
如果您已按照CustomX的建议录制宏来执行此操作,那就是您所能找到的。
答案 1 :(得分:0)
在FIND方法上查看Microsofts帮助文件: https://msdn.microsoft.com/en-us/library/office/ff839746.aspx
我对这篇文章的回答可能会指出你正确的方向: Loop through sheet, look for specific value, paste row with matching value to another sheet
我绝对同意:
这样做的简单代码方式是通过两个嵌套循环运行 通过列表B,直到找到匹配列表A,然后移动到 列表A的下一个条目并再次在列表B中运行。
这是一种非常低效的方式。