VBA 在文本行中搜索值
Posted
技术标签:
【中文标题】VBA 在文本行中搜索值【英文标题】:VBA Search for values within rows of text 【发布时间】:2021-12-21 12:28:09 【问题描述】:我是 VBA 的新手,如果我能在这方面获得任何帮助,我将不胜感激。
我有一个带有两个工作表的 Excel 工作簿。 Vendors 在 A 列中包含供应商列表,Products 在 F 列中包含 Item Name,其中包含带有供应商名称和项目描述的字符串。
我正在尝试遍历供应商列表 (100+) 并在“项目名称”列中搜索该供应商名称,如果有供应商匹配,则突出显示该行。
我一直在查看帖子,并且能够找到并突出显示静态搜索值的匹配项,但我无法找到任何可以通过循环访问供应商名称来继续搜索的内容。
您能提供的任何见解将不胜感激。
【问题讨论】:
您可以使用 vlookup 或 xlookup 查看单元格突出显示。不需要 VBA。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:抱歉,如果这不是您想要的,但它可能会实现类似的目标。
您可以使用数组公式来确定哪些供应商出现在产品表中,以及哪些产品包含在供应商表中找到的供应商。如您所见,这不依赖于包含任何固定模式的供应商或产品名称。
单元格 B3 包含以下内容:
=PRODUCT(--(SUBSTITUTE(Table2[Products],A3,"")=Table2[Products]))=0
单元格 E3 包含以下内容:
=SUM(LEN(D3)-LEN(SUBSTITUTE(D3,Table1[Vendors],"")))>0
您可以在此处使用条件格式突出显示计算结果为 TRUE
的行。
【讨论】:
谢谢布莱恩!这非常有效,而且比我尝试做的要容易得多。以上是关于VBA 在文本行中搜索值的主要内容,如果未能解决你的问题,请参考以下文章
高分跪求 VBA word中实现循环搜索 并在WORD中找到列表 再根据已有数据自动填写进本行其它列
使用excel vba将特定文本行保留在单元格中以获取特定起始字母
VBA宏在Excel中格式化1个包含文本行的单元格,并将这些行添加到单独的行中