六合开奖结果现场直播欢迎诸位!收藏本站注 册登 陆
常用三肖中特马:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 三肖中特马 > 文章页

使用VBA统计出重复的值

Admin | 2009-9-19 0:39:30 | ReadNums | 7406 | 标签 六合开奖结果现场直播 | 打印本页
     

  下面我们来学习一个实例,如何统计出Excel重复的值,并且,将重复的值的后列,添加到头一个重复值的列中!

  如下图,C列是VIN码,在此表中,存在多个重复的数据,现在,我们来查找一下,存在重复值的第一个值,在其后面,即右边的列中,显示VIN码对应的行驶里程。

  首先,如下图一样,在Excel中添加一个按钮控件,最后,给按钮设置VBA代码,即可完成!

  如上图,当点击“开始找”按钮时,就将存在重复的VIN码的第一个值,在其后面的列中,分别显示行驶的里程。

  为方便大家学习,下面,贴出VBA源代码:

  ①通用代码

  Dim MyBoot As Integer
  Dim MyBoots As Integer
  Dim Cfz As Integer

  ②按钮的代码

  MyBoot = 0
ReDim iArray(0)
For i = 2 To 1521
    Cfz = 0
    If (Application.WorksheetFunction.CountIf(Sheets(2).Range("C2:C1521"), Worksheets(2).Cells(i, 3)) > 1) Then
        For j = 0 To UBound(iArray)
            If (Worksheets(2).Cells(i, 3).Value = iArray(j)) Then
                Cfz = Cfz + 1
            End If
        Next
        If (Cfz > 0) Then
        Else
            MyBoot = MyBoot + 1
            ReDim Preserve iArray(0 + MyBoot)
            iArray(0 + MyBoot) = Worksheets(2).Cells(i, 3).Value
        End If
    End If
Next
Dim h As Integer
For k = 0 To UBound(iArray)
    Worksheets(2).Cells(k + 2, 6).Value = iArray(k)
    MyBoots = 0
    ReDim iArrays(0)
    h = 0
    For m = 2 To 1521
        If (iArray(k) = Worksheets(2).Cells(m, 3)) Then
            MyBoots = MyBoots + 1
            ReDim Preserve iArrays(0 + MyBoots)
            iArrays(0 + MyBoots) = Worksheets(2).Cells(m, 4).Value
        End If
    Next
    For mm = 0 To UBound(iArrays)
        h = h + 1
        Worksheets(2).Cells(k + 2, h + 6).Value = iArrays(mm)
    Next
Next

  ③代码说明

  其中,1521代表该表中的行数。


问题未解决:在线咨询

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日