當前位置:成語大全網 - 新華字典 - 如何讓excel自動排列組合

如何讓excel自動排列組合

使用vba實現

自動排列組合,生成排列組合的列數,手動輸入

然後從第二行第壹列開始生成每列數據,每列數據數字不重復,數量隨機。

實現代碼如下:

Sub?按鈕1_Click()

Application.ScreenUpdating?=?False

ActiveSheet.UsedRange.ClearContents?'清空表格

a?=?InputBox("請輸入產生序列的列數")?'提示輸入列數

Set?d?=?CreateObject("scripting.dictionary")?'字典去重

If?VBA.IsNumeric(a)?Then?'判斷輸入的是否是數值,不是則跳出程序

Randomize?'初始化隨機數

For?j?=?1?To?Int(a)?'生成輸入列數的隨機數

b?=?Int(Rnd?*?99999)?Mod?10?+?1?'?每列產生隨機數的數量

d.RemoveAll

l2:

If?d.Count?<>?b?Then?'生成隨機數

d(Int(Rnd?*?99999)?Mod?10)?=?""

GoTo?l2

End?If

Cells(2,?j).Resize(d.Count)?=?WorksheetFunction.Transpose(d.keys)?'將隨機數存入相應列裏

Next?j

Else

MsgBox?"請輸入數值"

GoTo?l1

End?If

l1:

Application.ScreenUpdating?=?True

End?Sub

程序執行效果: