广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-05-20
    【导读】:
    如下图所示,要判断同一行里面B列的单元格里面是否存在与A列相关的字符(B∈A,不管字符的顺序)。通过人工判断,费时费力,使用VBA程序来判断比较快捷些。工具/原料more计算机Excel 2010方法/步骤1/5分步阅读

    程序设计思路:

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

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

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

    2/5

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

    3/5

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

    4/5

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

    5/5

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

    注意事项

    个人经验,仅供参考。

    EXCEL
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_811366.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 12:49:20  耗时:0.024
    0.0237s