Excel-VBA求单元格区域数字的个数

源数据

Excel-VBA求单元格区域数字的个数_第1张图片
源数据

要求:

求A—L列每一行中数字计数为3的数字,并将这些数字连接起来,放在M列;例如:M1的结果就是从A1到L1所出现的数字中找,0出现了4次 ,1出现了4次 ,2出现了4次...9出现了3次(只显示出现3次的数字)


Sub 数字3()
    Dim arr, s$, ss$, i%, j%, k%, m%
    arr = Range("a1:L" & [a65535].End(3).Row) '将数据放到数组arr
    For i = 1 To UBound(arr) '遍历数组
        For j = 1 To UBound(arr, 2)
            s = s & arr(i, j) '将数组每一行连接起来,生成一个数字字符串,返回给s
        Next
        For m = 0 To 9 '数字只有10个,0-9
        '将0-9的数字,在字符串中分别替换为空,替换前后的字符数之差,就是该数字的个数
            k = Len(s) - Len(Replace(s, m, ""))
            If k = 3 Then ss = ss & m '如果数字的个数等于3,就连接起来,返回给字ss
        Next
        Cells(i, "m") = ss '将结果输出到单元格
        s = "": ss = ""  '清空字符串s和ss
    Next
End Sub
Excel-VBA求单元格区域数字的个数_第2张图片
结果

示例文件下载:
链接: http://pan.baidu.com/s/1c2hD7UC 密码: irys

你可能感兴趣的:(Excel-VBA求单元格区域数字的个数)