- Sub 随机选题()
- Dim brr, arr, tx, m, lrow, i, n, r, j, t, k
- tx = Left([b4], 3) '出题工作簿名称
- m = Sheets(tx).Cells(Rows.Count, 1).End(xlUp).Value
- lrow = Cells(Rows.Count, 1).End(xlUp).Value
- brr = Sheets(tx).Range("b2:b" & m + 1)
-
- ReDim a(1 To m) '生成不重复的随机数
- For i = 1 To m
- a(i) = i
- Next
-
- n = 1
- ReDim arr(1 To m, 1 To n)
-
- Randomize
- For j = 1 To n
- For i = 1 To m
- r = Int(Rnd * (m - i + 1)) + i
- t = a(r): a(r) = a(i): a(i) = t: arr(i, j) = t
- Next
- Next
-
- For j = 1 To lrow '提取题目
- k = arr(j, 1)
- arr(j, 1) = brr(k, 1)
- Next j
-
- [b5].Resize(lrow) = arr
-
- End Sub
复制代码 |