vba如何判断一个字符串是否包含某些字符

2024-11-25 21:28:54
推荐回答(2个)
回答1:

1、打开数据表。

2、我们要查找数据里是否包含FF。

3、我们用FIND函数来查找数据里是否有FF,输入公式=FIND("FF",A1),意思是查找FF在单元格从第几的位置上开始的。

4、回车之后得到结果6,FF前面有ABCDE五个字符,当然它是从第6开始了。按住单元格右下角的黑方块,向下拉。

5、得到全部结果,不过怎么还有错误值,这可不美观。

6、修改个公式为=ISNUMBER(FIND("FF",A1)),意思是判断上边公式得到的结果是不是数值,是显示TRUE,不是显示FALSE。错误当然就不是数值了。

7、得到结果TRUE,说明公式得到的结果是数值,也说明A1单元格里有FF。按住单元格右下角的黑方块,向下拉。

8、得到全部结果,结果是有了,但太不容易分辨了。

9、最后再修改公式为=IF(ISNUMBER(FIND("FF",A1)),"是","否"),意思是如果上边公式得到的结果是数值则显示是,如果不是数值则显示否。

10、回车之后,得到结果,按住右下角黑方块向下拉。

11、得到全部结果。这回就明白多了。

12、如果觉得还不是直观,可以把否去掉。

13、看单元格内只有是,是不是更直观了。

回答2:

判断是否有|使用INSTR函数,函数的说明如下:

InStr 函数示例

本示例使用 InStr 函数来查找某字符串在另一个字符串中首次出现的位置。
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 被搜索的字符串。
SearchChar = "P" ' 要查找字符串 "P"。

' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。
' 小写 p 和大写 P 在文本比较下是一样的。
MyPos = Instr(4, SearchString, SearchChar, 1)

' 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。
' 小写 p 和大写 P 在二进制比较下是不一样的。
MyPos = Instr(1, SearchString, SearchChar, 0)

' 缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos = Instr(SearchString, SearchChar) ' 返回 9。

MyPos = Instr(1, SearchString, "W") ' 返回 0。

替换|为,使用Replace函数,例如:
Replace("KSDHKJH|SDF|SDF",“|”,“,”)
希望对你能有所帮助。