问一个随机数的问题例如格式:12AB5.CA为6789这几个数字的随机显示.
BC为0-9随机(可重复)
要求点一下Command1,在text1—text5自动生成5组不重复的这样格式的随机数

解决方案 »

  1.   

    Private Sub Command1_Click()
        Dim strTmp(5) As String
        Dim a, b, c, i As Integer
        For i = 0 To 4
            Randomize
            a = Int((4 * Rnd) + 6)
            Randomize
            b = Int(Rnd(10 * Rnd))
            Randomize
            c = Int(Rnd(10 * Rnd))
            
            strTmp(i) = "12" & Trim(Val(a)) & Trim(Val(b)) & "." & Trim(Val(c))
        Next i
        Text1 = strTmp(0)
        Text2 = strTmp(1)
        Text3 = strTmp(2)
        Text4 = strTmp(3)
        Text5 = strTmp(4)
    End Sub
      

  2.   

    测试后改代码如下:
    Private Sub Command1_Click()
        Dim strTmp(5) As String
        Dim a, b, c, i As Integer
        For i = 0 To 4
            Randomize
            a = Int((4 * Rnd) + 6)
            Randomize
            b = Int(10 * Rnd)
            Randomize
            c = Int(10 * Rnd)
            
            strTmp(i) = "12" & Trim(Val(a)) & Trim(Val(b)) & "5" & "." & Trim(Val(c))
            If i > 0 Then
                If strTmp(i) = strTmp(i - 1) Then i = i - 1
            End If
            
        Next i
        Text1 = strTmp(0)
        Text2 = strTmp(1)
        Text3 = strTmp(2)
        Text4 = strTmp(3)
        Text5 = strTmp(4)
    End Sub
      

  3.   

    出手真大方,惶恐之余再次检查代码,还是有漏洞,真是受之有愧。Private Sub Command1_Click()
        Dim strTmp(5) As String
        Dim a, b, c, i, j As Integer
        For i = 0 To 4
            Randomize
            a = Int((4 * Rnd) + 6)
            Randomize
            b = Int(10 * Rnd)
            Randomize
            c = Int(10 * Rnd)
            strTmp(i) = "12" & Trim(Val(a)) & Trim(Val(b)) & "5" & "." & Trim(Val(c))
            j = i
            Do
                If j = 0 Then Exit Do
                If strTmp(j) = strTmp(j - 1) Then
                    i = i - 1
                    Exit Do
                End If
                j = j - 1
            Loop
        Next i
        Text1 = strTmp(0)
        Text2 = strTmp(1)
        Text3 = strTmp(2)
        Text4 = strTmp(3)
        Text5 = strTmp(4)
    End Sub