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

比如说A1单元格中是一些省份的名字,要判断是否包含北京、天津等等,只要包含其中任何一个就返回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、看单元格内只有是,是不是更直观了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-06-12
判断是否有|使用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",“|”,“,”)
希望对你能有所帮助。追问

我想查的是某个字符串里是否包含比如说a或b或c,有任何一个都返回1,这样的话用instr好像没法实现吧?

vba如何判断一个字符串是否包含某些字符
在VBA中,判断一个字符串是否包含特定字符的操作可以通过FIND函数和逻辑函数来实现。首先,打开你的数据表,针对需要查找的字符串,如"FF",使用FIND函数,如=FIND("FF", A1),它会返回"FF"在单元格A1中开始的位置。如果找到,结果会是一个数值,否则为#N\/A错误。为了更准确地识别,可以使用ISNUMBER...

vba如何判断一个字符串是否包含某些字符
1、打开数据表。2、我们要查找数据里是否包含FF。3、我们用FIND函数来查找数据里是否有FF,输入公式=FIND("FF",A1),意思是查找FF在单元格从第几的位置上开始的。4、回车之后得到结果6,FF前面有ABCDE五个字符,当然它是从第6开始了。按住单元格右下角的黑方块,向下拉。5、得到全部结果,不过怎么...

vba怎么判断是否包含特定字符串
:可选,表示从 string1 的第 start 个字符开始查找,默认为 1。String1:必需,表示要查找的字符串。String2:必需,表示要在 string1 中查找的子字符串。:可选,表示指定搜索类型。默认为 0,表示执行二进制比较。如果找到了指定的字符串,则返回一个大于 0 的整数,即位于查找到的字符串在 str...

vba如何判断字符串里面是包含某个字符?
instr(起始位置,查找对象,查找目标,比较模式)例如instr(1,“1234”,“3”,1)返回3,即按文本比较,在字符串中找到“3”,并返回其位置3。

Excel 怎么用Vba检查一个字符串中是否包含特定的字母
1、在新工作表的Sheet1上点击右键 2、选择查看代码 3、点击倒三角,选择Worksheet 4、点击右边倒三角,选择触发方式,如BeforeDoubleClick表示在双击鼠标左键时触发 5、点击候出现如下代码框架 6、输入以下语句:Sheet1.Cells(1, 3) = Sheet1.Cells(1, 1) + Sheet1.Cells(1, 2)意为将A1、B1单元...

Excel VBA中如何判断变量是否包含特定字符串?
Excel VBA中判断变量包含特定字符串,一般用vba like函数进行判断。Like运算符是字符串比较时经常使用的运算符,也是VBA较难掌握的运算符。语法:结果 = 字符串 Like 模式 如果字符串与模式匹配,结果为True,否则为False。但是如果Like两端的字符串和模式有一个为Null,则结果为Null。VBA内建的模式匹配...

Excel VBA中如何判断变量是否包含特定字符串?
Like运算符的基本语法是:结果 = 字符串 Like 模式。如果字符串与模式匹配,结果返回True,否则为False。值得注意的是,如果Like运算符的任何一侧的值为Null,结果也会是Null。VBA的模式匹配功能允许通过使用通配符(如?、*、#)、字符列表或特定字符区间来进行精确或广泛匹配。1. Like运算符在默认情况下...

Excel 怎么用Vba检查一个字符串中是否包含特定的字母
可以用instr函数或like方法确定:if instr(字符串,"特定字母")>0 then 或者 if 字符串 like "*特定字母*" then

Excel 怎么用Vba检查一个字符串中是否包含特定的字母
用instr函数或like运算均可,例如补检查字符串为MyStr,特定字母为“A”,下面两式都能检查出MyStr是否包含“A”if instr(MyStr,"A")>0 then 或 if MyStr like "*A*" then

VBA判断字符串中是否含有汉字
'VBA中默认英文字符串都是Unicode,双字节,如果转化为vbFromUnicode就变成单字节,汉字还是双字节,如果转换之前的字符长度与转化之后的字节长度相等(LenB是计算字符的字节长度的函数),说明不含中文字符,反之含有中文字符。 End FunctionSub check() Debug.Print StrWithChinese("中文Excel应用论坛") ...

相似回答