Excel 2003VBA运用
发布网友
发布时间:2022-05-02 01:53
我来回答
共1个回答
热心网友
时间:2022-06-26 13:19
首先分析算法,随机抽出10个数,其中至少有2个数与A1(固定数)相等且至少有2个数与A2(固定数)相等,如果一次抽10个数,那出现上面的情况概率相当少,基本上成功不了;还不如固定4个数(随机从A3:T3中取2个,随机从A4:T4中取2个),其中2个与A1相等,2个与A2相等,然后再随机抽6个数,最后随机排列这10个数,这样看上去效果是一样的。
Dim I As Integer
Dim A(20) As Integer
'随机从A3:T3中取2个数
Randomize
A(1) = Cells(3, Int(20 * Rnd) + 1)
A(2) = Cells(3, Int(20 * Rnd) + 1)
'随机从A4:T4中取2个数
A(3) = Cells(4, Int(20 * Rnd) + 1)
A(4) = Cells(4, Int(20 * Rnd) + 1)
'随机从1-100中取6个数
For I = 5 To 10
Randomize
A(I) = Int(100 * Rnd) + 1
Next I
'在A1:J1中列出这10个数
For I = 1 To 10
Cells(1, I) = A(I)
Next I