VBA判断单元格存在相同的字符
来源:网络收集 点击: 时间:2024-05-20程序设计思路:
(1)程序要对单元格里边的每一个字进行对比判断,则需要使用到Mid截取函数,即:Mid(要截取的字符,起始位置,截取的个数)。
(2)截取一个字符之后再逐一去与其他字符比较,相同则计1,满足条件则说明他们是存在相同的字符,此时就要用到For……Next嵌套使用。
(3)For……Next的循环次数主要是根据单元格的字符长度来循环的,此时就需要使用到统计字符长度函数Len,即:Len(要统计字符长度的单元格)。
2/5打开Excel表格后,点击【开发工具】、【Visual Basic】打开VBA编辑器,也可以使用【Alt+F11】组合键打开VBA编辑器。

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

在模块的代码框里面输入以下VBA程序代码,然后按下【F5】键运行,也可以点击工具栏里面的“运行”图标运行程序。
Sub Chk()
Dim i1, i2, i3, i4, i5, i6, m1, m2
On Error Resume Next 忽略运行中可能出现的错误
Set mysheet1 = ThisWorkbook.Worksheets(Sheet1) 定义工作表
For i1 = 2 To 100 从第2行到100行
If mysheet1.Cells(i1, 1) Then 如果单元格不是空白,则
i4 = 0 中间变量(统计相同个数)初始化
i5 = (Len(mysheet1.Cells(i1, 2))) 获取B列相应单元格字符长度
i6 = (Len(mysheet1.Cells(i1, 1))) 获取A列相应单元格字符长度
For i3 = 1 To i5 B列相应单元格从第1个字符到末尾的字符长度
m1 = Mid(mysheet1.Cells(i1, 2), i3, 1) 截取字符
For i2 = 1 To i6 A列相应单元格从第1个字符到末尾的字符长度
m2 = Mid(mysheet1.Cells(i1, 1), i2, 1) 截取字符
If m2 = m1 Then 如果存在相同字符,则加1
i4 = i4 + 1
End If
Next
Next
If i4 = i5 Then 如果B列对应单元格的字符数与相同字符数相等,则
mysheet1.Cells(i1, 3) = Yes
Else
mysheet1.Cells(i1, 3) = No
End If
End If
Next
End Sub

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

个人经验,仅供参考。
EXCEL版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_811366.html