卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

使用VBA在Excel中生成不重復(fù)的隨機數(shù)

隨機數(shù)在數(shù)據(jù)分析和計算機編程中非常有用。但是,如果想要生成一組不重復(fù)的隨機數(shù),就需要用到VBA編程語言了。如果你剛開始學(xué)習(xí)VBA,那么本文將為你介紹如何使用VBA在Excel中生成不重復(fù)的隨機數(shù)。步驟

隨機數(shù)在數(shù)據(jù)分析和計算機編程中非常有用。但是,如果想要生成一組不重復(fù)的隨機數(shù),就需要用到VBA編程語言了。如果你剛開始學(xué)習(xí)VBA,那么本文將為你介紹如何使用VBA在Excel中生成不重復(fù)的隨機數(shù)。

步驟1:打開VBA編輯器

首先,打開Excel表格,并點擊【開發(fā)工具】、【Visual Basic】打開VBA編輯器。

步驟2:新建模塊

在VBA編輯器窗口,點擊【插入】、【模塊】,以便輸入程序代碼。

步驟3:輸入程序代碼

在“模塊”的代碼窗口里邊輸入以下VBA程序代碼:

Sub RandomNumberSelect()

Dim i, j, k, x, rn, h, m, n

On Error Resume Next '忽略運行過程中可能出現(xiàn)的錯誤

Set mysheet1 ("Sheet1") '定義工作表

mysheet1.Range("A3:G100").Value "" '清空單元格內(nèi)容

n IsNumeric(mysheet1.Cells(2, 8)) '判斷填充的內(nèi)容是否為數(shù)值

If mysheet1.Cells(2, 8) <> "" And n True And mysheet1.Cells(2, 8) > 1 Then '如果要生成的隨機數(shù)個數(shù)的單元格不為空白,且為數(shù)值(數(shù)值>1),則:

h Int(mysheet1.Cells(2, 8)) '從第三行開始

For m 3 To h

Set myrange mysheet1.Range(mysheet1.Cells(m, 1), mysheet1.Cells(m, 6))

x 0 '初始值為0

j 0

Do

k Int(Rnd * 33 1) '1-33的隨機整數(shù)

i (myrange, k) '統(tǒng)計數(shù)值在同一行(如:A3:F3)里邊出現(xiàn)是次數(shù)

For Each rn In myrange '循環(huán)同一行單元格區(qū)域里邊的每一個單元格

If i 0 And rn "" Then '如果沒有出現(xiàn)過且單元格為空白

k '將數(shù)值寫入該單元格里邊

j j 1

Exit For '退出For循環(huán)

End If

Next

x x 1 '中間變量值遞增1

If j 6 Or x 20000 Then '如果數(shù)值已經(jīng)填充到第六列,或x條件滿足

mysheet1.Cells(m, 7).Value Int(Rnd * 16 1) '從1-16里邊隨機選擇出1個整數(shù)

Exit Do '退出Do循環(huán)

End If

Loop

Next

End If

End Sub

以上程序函數(shù)和思路解讀:

(1)先判斷要生成的隨機數(shù)組的個數(shù)是否為空白、或者非數(shù)值,條件滿足再執(zhí)行后邊的程序,以提高運行速度;

(2)Rnd函數(shù)的取值范圍是>0,且<1的隨機數(shù);

(3)Int是取整函數(shù);

(4)For循壞每執(zhí)行一次,將會執(zhí)行一行的判斷;

(5)使用Do循環(huán)時,應(yīng)當(dāng)避免死循環(huán)的情況發(fā)生,所以,應(yīng)當(dāng)加設(shè)一個條件,以免無法求出結(jié)果時無法退出循壞。

步驟4:指定宏

回到Excel工作表界面,點擊【插入】,在“形狀”里邊選擇一個圖形(如:長方形)并在Excel工作表上面繪制。在繪制好的圖形上邊單擊右鍵,選擇“指定宏”,選擇已經(jīng)在模塊程序里邊寫好的宏的名稱(如:RandomNumberSelect),然后點擊【確定】。

步驟5:輸入?yún)?shù)并生成隨機數(shù)

在指定的單元格(如:H2)里面輸入要生成隨機數(shù)組的個數(shù),點擊已經(jīng)繪制的圖形按鈕(已經(jīng)指定該宏),即可生成隨機整數(shù)。注意,同一行的前6個整數(shù)不重復(fù)。

標(biāo)簽: