例如文本框1内容为(multiline=true) 
12,17,19,22,23,29,30,34, 
02,10,15,19, 
03,05,17,30,40,42, 
13,18,24,36,38,42,20,31,45, 
02,05,15, 
07,16,18,31,36,41,11,14,39,46, 
01,06, 怎样统计次数?象这样. 1~49个数字,新手,给个按钮点击代码.出现0次 04,08,09,21,25,26,27,28,32,33,35,37,43,44,47,48,49, =17个 
出现1次 01,03,06,07,10,11,12,13,14,16,20,22,23,24,29,34,38,39,40,41,45,46, =22个 
出现2次 02,05,15,17,18,19,30,31,36,42, =10个.效果如图:http://hiphotos.baidu.com/%CC%EC%B7%E7%BA%A3%CB%AE/pic/item/7b0bb38b447c697e9e2fb4d3.jpg

解决方案 »

  1.   

    Dim arr(1 To 49) As String
        Dim i As Integer, j As Integer
        Dim arrPrint() As String
        Dim n As Integer
        
        ReDim arrPrint(1)
        For i = 1 To 49
            arr(i) = (Len(Text1) - Len(Replace(Text1, Format(i, "00"), vbNullString))) / 2
            If arr(i) = 0 Then
                arrPrint(0) = arrPrint(0) & "," & Format(i, "00")
            End If
            If arr(i) - n > 0 Then
                n = arr(i)
            End If
        Next i
        
        ReDim Preserve arrPrint(UBound(arrPrint) + (n - 1))
        For i = 1 To n
            For j = 1 To 49
                If arr(j) = i Then arrPrint(i) = arrPrint(i) & "," & Format(j, "00")
            Next j
        Next i
        
        For i = 0 To n
            Debug.Print "出现 " & i & " 次: " & Mid(arrPrint(i), 2)
        Next我试了一下,这样可以实现,不知道是不是你要的,算是抛砖引玉吧
      

  2.   

    '不谋而合,贴出来吧
    Option ExplicitPrivate Sub Form_Load()
      Dim m As Long, n As Long, ret As Long
      Dim Temp As String
      Dim NumStr(48) As String
      
      Dim Num(1 To 49) As Long
      For m = 1 To 49
        Temp = Format(m, "00")
        Temp = Replace(Text1, Temp, "")
        Num(m) = (Len(Text1) - Len(Temp)) / 2
        'Debug.Print m, Num(m)
      Next m
      
      Do Until ret = 49
        For m = 1 To 49
          If Num(m) = n Then NumStr(n) = NumStr(n) & Format(m, "00") & ",": ret = ret + 1
        Next m
        n = n + 1
      Loop
      
      For m = 1 To n - 1
        Debug.Print NumStr(m) & "=" & m & "次"
      Next m
    End Sub
      

  3.   

    结尾统计数可以用变量,也可以用其它方法,比如
    For i = 0 To n
        Debug.Print "出现 " & i & " 次: " & Mid(arrPrint(i), 2) & _
          " =" & Len(Mid(arrPrint(i), 2)) - Len(Replace(Mid(arrPrint(i), 2), ",", vbNullString)) - 1 & "个"
    Next
      

  4.   

    错了最后应该是加1
    For i = 0 To n
        Debug.Print "出现 " & i & " 次: " & Mid(arrPrint(i), 2) & _
        " =" & Len(Mid(arrPrint(i), 2)) - Len(Replace(Mid(arrPrint(i), 2), ",", vbNullString)) + 1 & "个"
    Next
      

  5.   

    Dim i, a(49), b(49)
    For i = 1 To 49 '1~49
        a(i) = UBound(Split(Text1, Format(i, "00"",""")))
    Next
    For i = 1 To 49
        b(a(i)) = b(a(i)) & Format(i, "00"",""")
    Next
    For i = 0 To 49
        If b(i) <> "" Then Debug.Print "出现" & i & "次 : " & b(i) & " =" & UBound(Split(b(i), ",")) & "个"
    Next
    结果:
    出现0次 : 04,08,09,21,25,26,27,28,32,33,35,37,43,44,47,48,49, =17个
    出现1次 : 01,03,06,07,10,11,12,13,14,16,20,22,23,24,29,34,38,39,40,41,45,46, =22个
    出现2次 : 02,05,15,17,18,19,30,31,36,42, =10个