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

Excel VBA生成不重復(fù)隨機數(shù)的方法

在Excel中利用VBA生成不重復(fù)的隨機數(shù)是一項常見的需求,特別適用于需要隨機分配座位號、抽獎等場景。下面將介紹如何通過VBA代碼實現(xiàn)這一功能。 步驟1:準(zhǔn)備工作首先,在Excel表格中,假設(shè)我們有一

在Excel中利用VBA生成不重復(fù)的隨機數(shù)是一項常見的需求,特別適用于需要隨機分配座位號、抽獎等場景。下面將介紹如何通過VBA代碼實現(xiàn)這一功能。

步驟1:準(zhǔn)備工作

首先,在Excel表格中,假設(shè)我們有一列A包含了19位同學(xué)的姓名。我們想要為這19名同學(xué)隨機生成座位號,讓我們來看看如何實現(xiàn)。

步驟2:錄入VBA代碼

1. 首先,選中B2至B20單元格區(qū)域。

2. 同時按下Alt F11鍵,進入VBA編輯界面。

3. 在右側(cè)空白區(qū)域中錄入以下VBA代碼:

```vb

Sub 生成不重復(fù)的隨機數(shù)()

Dim count As Long, needCount As Long

Dim rn As Range

Dim max, min, unit As Double

Dim bRepeat As Boolean

Dim d As Object

Dim i, v

' 獲取選擇的單元格數(shù)量

count

' 提示用戶不要選擇超過10000個單元格

If count > 10000 Then

MsgBox "請不要選擇超過10000個單元格!"

Exit Sub

End If

' 輸入隨機最小數(shù)字

min (prompt:"隨機最小數(shù)字", Type:1, Default:"0")

If Not IsNumeric(min) Then Exit Sub

' 輸入隨機最大數(shù)字

max (prompt:"隨機最大數(shù)字", Type:1, Default:"100")

If Not IsNumeric(max) Then Exit Sub

' 輸入隨機數(shù)的精確單位

unit (prompt:"隨機數(shù)的精確單位, 如精確到1、精確到0.2等等", Type:1, Default:"1")

If Not IsNumeric(unit) Then Exit Sub

' 計算需要生成的隨機數(shù)個數(shù)

needCount Int((max - min - unit) / unit)

' 判斷選擇的區(qū)域是否合理

If count > needCount Then

MsgBox "您選擇的區(qū)域太大,無法生成不重復(fù)的隨機數(shù)!至多只能選中" needCount "個單元格!"

Exit Sub

End If

' 創(chuàng)建字典對象

Set d CreateObject("Scripting.Dictionary")

' 初始化隨機數(shù)種子

Randomize Timer

' 循環(huán)生成不重復(fù)的隨機數(shù)

For i 1 To count

Do

v Int(Rnd() * Int((max - min - unit) / unit)) * unit min

Loop While d.exists(v)

' 將隨機數(shù)賦值給單元格

Selection.Cells(i) v

v, ""

Next i

End Sub

```

步驟3:運行代碼生成隨機數(shù)

1. 在VBA編輯界面中,按下F5鍵執(zhí)行代碼。

2. 彈出輸入框依次輸入隨機最小數(shù)字、隨機最大數(shù)字和隨機數(shù)的精確單位。

3. 點擊確定,即可完成隨機數(shù)的生成。

通過以上步驟,你可以輕松利用Excel的VBA功能生成不重復(fù)的隨機數(shù),適用于各種場景的數(shù)據(jù)處理和分配任務(wù)。如果需要更多關(guān)于Excel VBA代做的幫助,請搜索“方方格子”獲取更多信息。

標(biāo)簽: