|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
'撰写:老朽
'网址:http://Club.ExcelHome.net
'日期:2009-7-30 上午 09:48:55
Sub zldccmx2() '这是随机排列名单
'注意:VBE窗口,工具-引用 ,添加 MicroSoft Scripting Runtime
Dim dic As New Dictionary, 名单, i%, J%, Xm
Dim C(1 To 10, 1 To 7)
'随机生成名单,如果你已经有名单,则不需要这一步
For i = 1 To 60 '名单生成中,如果你已经有名单,则将这一段注释
Do '名单生成中,如果你已经有名单,则将这一段注释
Xm = 随机生成汉字 & 随机生成汉字 & 随机生成汉字 '名单生成中,如果你已经有名单,则将这一段注释
If Not dic.Exists(Xm) Then dic(Xm) = "": Exit Do '名单生成中,如果你已经有名单,则将这一段注释
Loop '名单生成中,如果你已经有名单,则将这一段注释
Next '名单生成中,如果你已经有名单,则将这一段注释
名单 = dic.Keys '名单生成中,如果你已经有名单,则将这一段注释
dic.RemoveAll '名单生成中,如果你已经有名单,则将这一段注释
'名单生成结束
Sheets.Add.Name = "名单随机排列"
For i = 1 To 10
For J = 2 To 7
Do
Xm = Int(Rnd * 60)
If Not dic.Exists("" & Xm) Then C(i, J) = 名单(Xm): dic("" & Xm) = "": Exit Do
Loop
Next
Next
For i = 1 To 10: C(i, 1) = Format(i, "第_00_组"): Next
ActiveSheet.[A1:G10].Value = C
End Sub
'撰写:老朽
'网址:http://Club.ExcelHome.net
'日期:2009-7-30 上午 09:48:55
Public Function 随机生成汉字() As String
On Error Resume Next
Dim TmpRes As String
Dim TmpRnd As Integer
Randomize
If Rnd() < 0.6 Then TmpRes = "&HB" Else TmpRes = "&HC"
Randomize
TmpRes = TmpRes & Hex(Rnd(1) * 15)
Randomize
TmpRnd = CInt (Rnd(1) * 7)
Select Case TmpRnd
Case 0, 1
TmpRes = TmpRes & "A"
Case 2
TmpRes = TmpRes & "B"
Case 3
TmpRes = TmpRes & "C"
Case 4
TmpRes = TmpRes & "D"
Case 5
TmpRes = TmpRes & "E"
Case Else
TmpRes = TmpRes & "F"
End Select
Randomize
TmpRes = TmpRes & Hex(Rnd(1) * 15)
随机生成汉字 = Chr(TmpRes)
End Function
|
|