|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Option Explicit
Sub test1()
Dim ar
ar = Range("A2", Cells(Rows.Count, "A").End(xlUp)).Value
ar = RndNumCount(1, UBound(ar), UBound(ar))
[B2].Resize(UBound(ar)) = Application.Transpose(ar)
Beep
End Sub
Function RndNumCount(MinNum&, MaxNum&, CountNum&)
Dim i&, n&, ar, xNum&, temp&
Application.Volatile
If MaxNum < MinNum Then temp = MaxNum: MaxNum = MinNum: MinNum = temp
If CountNum > MaxNum - MinNum + 1 Then RndNumCount = "无解": Exit Function
ReDim ar(1 To CountNum): n = 1
Randomize
Do While n <= CountNum
xNum = Int((MaxNum - MinNum + 1) * Rnd + MinNum)
ar(n) = xNum
For i = 1 To n
If ar(i) = xNum Then Exit For
Next i
If i = n Then n = n + 1
Loop
RndNumCount = ar
End Function
|
|