作业帮 > 综合 > 作业

怎么样在excel上把1-9这些数字排列成5位数的所有数字组合全部显示出来,任意排列成5位数就可以

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 16:14:41
怎么样在excel上把1-9这些数字排列成5位数的所有数字组合全部显示出来,任意排列成5位数就可以
条件1:不包含0
条件2:不得有重复数字
范围:12345~98765
符合的数字有 57205个,
右击工作表标签→查看代码,把下面的代码贴到VBE中,按F5运行,结果粘贴到A列
Sub chiefzjh()
Dim mStr$,i,k%,Tmp$,mDic
Set mDic = CreateObject("scripting.dictionary")
mStr = "123456789"
For i = 12345 To 98765
If InStr(i,"0") = 0 Then 'No "O" exit
For k = 1 To 4 'No duplicate finger
If 5 - Len(Replace(i,Mid(i,k,1),"")) >= 2 Then Exit For
Next k
mDic.Add i,"" 'Add to Dic
End If
Next i
i = mDic.Count
Range("a1").Resize(i,1) = WorksheetFunction.Transpose(mDic.keys)
End Su