Office中国论坛/Access中国论坛

标题: 能不能用函数自动生成多个不相等的整数。 [打印本页]

作者: zhqizh2008    时间: 2007-11-3 10:20
标题: 能不能用函数自动生成多个不相等的整数。


[ 本帖最后由 zhqizh2008 于 2007-11-3 10:54 编辑 ]
作者: liwen    时间: 2007-11-3 22:11
rnd()是生成随机数,
作者: pureshadow    时间: 2007-11-6 16:37
RAND会重复的,要不重复得用代码了。
作者: zhujun02    时间: 2007-11-7 12:42
Sub 不重复随机值()
    Dim iMin As Integer, iMax As Integer, iCount As Integer
    Dim j As Integer
    j = 1
    Application.ScreenUpdating = False
    On Error GoTo 100
    Columns("A:A").ClearContents
    iMin = Int(InputBox("请输入最小值"))
    iMax = Int(InputBox("请输入最大值"))
    iCount = Int(InputBox("请输入要取的个数"))
    If iMax <= iMin Then
        MsgBox "最大值必须比最小值大!"
        Exit Sub
    End If
    If iCount > iMax - iMin + 1 Then
        MsgBox "要取出的个数,不能超过大小值之差!"
        Exit Sub
    End If
    For i = iMin To iMax
        Range("A" & j) = i
        Range("B" & j) = Rnd
        j = j + 1
    Next i
    Range("A1:B" & iMax - iMin + 1).Sort Key1:=Range("B1")
    Columns("B:B").ClearContents
    If iCount < iMax - iMin + 1 Then
        Range(Cells(iCount + 1, 1), Cells(iMax - iMin + 1, 1)).ClearContents
    End If
100
End Sub
作者: zhujun02    时间: 2007-11-7 12:43
思路是这样的
一个A列形成比如1-100的序列
另一B列形成100个RAND()随机数
然后将100个随机数排序,则A列为100个不重复的整数。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3