首页 > 解决方案 > 搜索功能无法在 VBA 中返回结果

问题描述

我正在编写一个宏来分析 Excel 中的信息,但搜索功能出现问题。

我将使用它来搜索包含数据列表的名为“主数据”的工作表上的多个单元格。单个信元内容示例如下:EXT 10DEC、PCR 11DEC、LC 12DEC、FR 24DEC

我想在每个单元格中搜索特定信息,这些信息是从另一张名为“控制”的表格 B10 中指定的特定文本和变量数据连接起来的。我有以下代码来执行此操作:

MyValue = "EXT" & " " & Worksheets("Control").Range("B10").value
Range("J2").Formula = "=IF(ISNUMBER(SEARCH(MyValue, RC[-1])),""EXT"",""N"")"

因此,使用上面的示例数据,如果我在单元格 B10 中输入 10Dec,我希望代码在单元格 I2 中搜索“EXT 10DEC”,如果找到,则在 J2 中返回“EXT”。如果它没有找到它,它应该返回“N”。

我的问题是这段代码对所有内容都返回“N”。我已经测试了 MyValue 变量、ISNUMBER 和 IF 函数,但找不到任何问题。

有人可以帮忙吗?

标签: excelvba

解决方案


您使用的是文字字符串“MyValue”,而不是该变量的值:

MyValue = "EXT" & " " & Worksheets("Control").Range("B10").value
Range("J2").Formula = "=IF(ISNUMBER(SEARCH(""" & MyValue & """, RC[-1])),""EXT"",""N"")"

推荐阅读