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

 时间:2026-02-12 16:23:26

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判断单元格存在相同的字符

  • 在VBA中,用代码选择非空区域(2)?
  • Excel如何利用VBA合并单元格中的数据?
  • VBA工作表批量命名
  • Excel如何用VBA取消合并单元格?
  • Excel如何用VBA设置对齐方式?
  • 热门搜索
    网上怎么交违章罚款 笔记本电脑配置怎么看 腿不直怎么办 长期便秘怎么办 安全期怎么算最准确 何猷君怎么看上奚梦瑶 喜欢一个人怎么办 本田crv怎么样 怎么祛斑啊 簸箕怎么读