随机序列生成

陈燮函2年前学习82

仅单字符,输入字符串递增时输出结果也递增。

Sub createArr()
    Application.ScreenUpdating = False
    Dim s As String
    s = InputBox("请输入字符串")
    Cells(1, 2) = "开始时间:" & Format(Now(), "hh:mm:ss")
    funArr s
    Cells(2, 2) = "结束时间:" & Format(Now(), "hh:mm:ss")
End Sub

Function funArr(str1 As String, Optional str2 As String = "", Optional m As Long = 1)
    Dim a() As String
    If Len(str1) = 1 Then Exit Function
    For i = 0 To Len(str1) - 1
        ReDim Preserve a(i)
        a(i) = Mid(str1, i + 1, 1)
        str0 = a(i) & Replace(str1, a(i), "")
        If Len(str0) = 2 Then
            Cells(m, 1) = str2 & str0
            m = m + 1
        End If
        funArr Mid(str0, 2) & "", str2 & Left(str0, 1), m
    Next
End Function

利用vba生成包含8个数字的随机序列

Sub rndSer()
    tempA = Array(0, 1, 2, 3, 4, 5, 6, 7)
    For i = 7 To 1 Step -1
        s = Int(Rnd() * (i + 1) + Second(Now())) Mod (i + 1)
        a = tempA(i)
        b = tempA(s)
        tempA(i) = b
        tempA(s) = a
    Next
    Range(Cells(1, 1), Cells(1, 8)).Resize = tempA
End Sub


标签: vba

相关文章

工作常用

【1】结构调整涉及指标年报:3-4,205,3701-3706,3711,3712,3735,3745,3751,3781,3782,3784-3786,3821,3831,3861-3863,387...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。