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

2025-11-18 19:41:59

1、程序设计思路:

(1)程序要对单元格里边的每一个字进行对比判断,则需要使用到Mid截取函数,即:Mid(要截取的字符,起始位置,截取的个数)。

(2)截取一个字符之后再逐一去与其他字符比较,相同则计1,满足条件则说明他们是存在相同的字符,此时就要用到For……Next嵌套使用。

(3)For……Next的循环次数主要是根据单元格的字符长度来循环的,此时就需要使用到统计字符长度函数Len,即:Len(要统计字符长度的单元格)。

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

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

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

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

4、在模块的代码框里面输入以下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

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

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢