VBA判断单元格存在相同的字符

 时间:2024-11-09 04:45:26

如下图所示,要判断同一行里面B列的单元格里面是否存在与A列相关的字符(B∈A,不管字符的顺序)。通过人工判断,费时费力,使用VBA程序来判断比较快捷些。

VBA判断单元格存在相同的字符

工具/原料

计算机

Excel2010

方法/步骤

1、程序设计思路:(1)程序要对单元格里边的每一个字进行对比判断,则需要使用到Mid截取函数,即:Mid(要截取的字符,起始位置,截取的个数)。(2)截取一个字符之后再逐一去与其他字符比较,相同则计1,满足条件则说明他们是存在相同的字符,此时就要用到For……Next嵌套使用。(3)For……Next的循环次数主要是根据单元格的字符长度来循环的,此时就需要使用到统计字符长度函数Len,即:Len(要统计字符长度的单元格)。

2、打开Excel表格后,点击【开发工具】、【VisualBasic】打开VBA编辑器,也可以使用【Alt+F11】组合键打开VBA编辑器。

VBA判断单元格存在相同的字符

3、在VBA编辑器的菜单栏上边点击【插入】、【模块】,或者依次按【Alt】、【I】、【M】键插入模块。

VBA判断单元格存在相同的字符

4、在模块的代码框里面输入以下VBA程序代码,然后按下【F5】键运行,也可以点击工具栏里面的“运行”图标运行程序。SubChk()Dimi1,i2,i3,i4,i5,i6,m1,m2OnErrorResumeNext'忽略运行中可能出现的错误Setmysheet1=ThisWorkbook.Worksheets("Sheet1")'定义工作表Fori1=2To100'从第2行到100行Ifmysheet1.Cells(i1,1)<>""Then'如果单元格不是空白,则i4=0'中间变量(统计相同个数)初始化i5=(Len(mysheet1.Cells(i1,2)))'获取B列相应单元格字符长度i6=(Len(mysheet1.Cells(i1,1)))'获取A列相应单元格字符长度Fori3=1Toi5'B列相应单元格从第1个字符到末尾的字符长度m1=Mid(mysheet1.Cells(i1,2),i3,1)'截取字符Fori2=1Toi6'A列相应单元格从第1个字符到末尾的字符长度m2=Mid(mysheet1.Cells(i1,1),i2,1)'截取字符Ifm2=m1Then'如果存在相同字符,则加1i4=i4+1EndIfNextNextIfi4=i5Then'如果B列对应单元格的字符数与相同字符数相等,则mysheet1.Cells(i1,3)="Yes"Elsemysheet1.Cells(i1,3)="No"EndIfEndIfNextEndSub

VBA判断单元格存在相同的字符

5、回到Excel表格界面,将会看到程序执行的结果。

VBA判断单元格存在相同的字符

在VBA中,用代码选择非空区域(2)? Excel如何利用VBA合并单元格中的数据? VBA工作表批量命名 Excel如何用VBA取消合并单元格? Excel如何用VBA设置对齐方式?
热门搜索
兔子图片大全 芒果树图片 女人的阴部图片 桂花图片大全 水果生日蛋糕图片