在TEXT1中输入多个数字,,按下BUTTON按钮,如果在输入的数字中有相同的就将相同的数字显示在一个LABEL里面,,即是如果输入:12,2,3,4,5,45,12,2,3    在这些数字里面12,2和3都是出现相同的,,这样12,2,3就会在LABEL1里面显示出来,,这个效果我不会实现请高手指点!!!!!!

解决方案 »

  1.   

    注意:
    1、本程序只接受整数。
    2、本程序默认取值有效范围在0-65535。Private Sub Form_Load()
      Text1.Text = 重复数字提取("12,2,3,4,5,45,12,2,3")
    End SubFunction 重复数字提取(ByVal p字符串 As String, Optional ByVal p分隔符 As String = ",", Optional ByVal p值域_开始 As Long = 0, Optional ByVal p值域_结束 As Long = 65535) As String
      Dim t输出字符串 As String
      
      Dim t输入数字_数组() As String
      
      t输入数字_数组() = Split(p字符串, p分隔符)  Dim t输入数字_数组_索引 As Long
      Dim t输入数字_数组_结束 As Long
        
      t输入数字_数组_结束 = UBound(t输入数字_数组())
      
      Dim t当前数字 As Long
      Dim t当前数字_检测 As Long
      
      Dim t直方图() As Long
      
      ReDim t直方图(p值域_开始 To p值域_结束)
      
      For t输入数字_数组_索引 = 0 To t输入数字_数组_结束
        
        t当前数字 = CLng(t输入数字_数组(t输入数字_数组_索引))
        t当前数字_检测 = IsNumeric(t当前数字)
        
        t直方图(t当前数字) = t直方图(t当前数字) + (t当前数字_检测 And 1)
        '上面这句相当于:
        'If t当前数字_检测 Then t直方图(t当前数字) = t直方图(t当前数字) + 1
      Next
      
      Dim t直方图_索引 As Long
      Dim t值有效 As Boolean
      
      For t直方图_索引 = p值域_开始 To p值域_结束
        t值有效 = t直方图(t直方图_索引) > 1
        If t值有效 Then
          t输出字符串 = t输出字符串 & "," & t直方图_索引 & "(出现" & t直方图(t直方图_索引) & "次)"
        End If
      Next
      
      重复数字提取 = t输出字符串
    End Function
      

  2.   

    Private Sub Command1_Click()
    Dim Temp As String, N() As String, N_1() As String, i As Integer, j As Integer, k As Integer, Tstr As String
    Dim IsSample As Integer, IsSample1 As BooleanLabel2.Caption = ""
    Temp = Text1.Text
    N = Split(Temp, ",")  '以逗号为分割标致,读取TEXT1中的字符
    For i = LBound(N) To UBound(N)
        Tstr = N(i)
        IsSample = 0
        'Label2.Caption = Label2.Caption & N(i)
        For j = LBound(N) To UBound(N)
            If Tstr = N(j) Then
              IsSample = IsSample + 1
              'Exit For
            End If
        Next
        If IsSample > 1 Then
          N_1 = Split(Label2.Caption, ",")
          IsSample1 = False
          For k = LBound(N_1) To UBound(N_1)
            If N(i) = N_1(k) Then
              IsSample1 = True
              'Exit For
            End If
          Next
          If IsSample1 = False Then
            Label2.Caption = Label2.Caption & "," & N(i)
          End If
        End If