查找一个范围,其中包含在第二个范围内也以相同顺序存在的值
查找范围(例如范围(“A1:A2”))中以相同顺序存在于第二范围(例如范围(“B:B”))中的值的有效方法是什么。
到目前为止我的搜索只提出了两种可能性: 1)使用循环迭代第二个范围。 2) 使用 Range("B:B").Find 搜索“A1”中的值,然后测试连续单元格中 A2 的值。 Range("B:B") 中的值不是唯一的,因此需要继续查找,直到找不到任何值。
还有其他我没有考虑过的选择吗?
What is an efficient way to find values in a range, eg Range("A1:A2"), that exist in the same order within a second range, eg Range("B:B").
My seach has only come up with two possibilities so far:
1) Using a loop to iterate through the second range.
2) Using Range("B:B").Find to search for the value in "A1" and then testing for the value of A2 in the consecutive cell. Values in Range("B:B") is not unique so need to to keep finding until nothing found.
Is there another option I haven't considered?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
虽然 (2) 听起来很合理,但另一种快速方法是将 B1 和 B2 连接到工作列中的单个单元格中(手动或使用 VBA),对 B2 和 B2 重复操作。 B3 等等,然后在单个查找中匹配组合字符串
[更新]
您可以使用像这样的工作列。 ||连接器用于避免错误匹配,错误检查处理不匹配的情况
While (2) sounds sensible, another quick way would be to concatenate B1 and B2 into a single cell in a working column ( manually or with VBA), repeating for B2 & B3 Etc, and then match the combined string in a single lookup
[Update]
You could use a working column like so. The || concatenator is used to avoid false matches, an error check handles the no match situation