作者:乔山办公网日期:
返回目录:excel表格制作
VBA代码如下,按百alt+F11,在sheet1中双击,粘度贴。回答工具 宏 运行宏。执行aaa即可。Sub aaa()
For i = 1 To 5000
bb = ""
aa = ""
For j = 1 To 8
a = VBA.Int(Rnd() * 3 + 1)
Select Case a
Case Is = 1
bb = Chr(64 + Int(Rnd * 26) + 1)
Case Is = 2
bb = Chr(96 + Int(Rnd * 26) + 1)
Case Is = 3
bb = Int(Rnd() * 9 + 1)
End Select
aa = aa & bb
Cells(i, 1) = aa
Next j
Next i
End Sub
获取一位随知机字母或数字就是
=IF(RANDBETWEEN(0,1)=0,CHAR(RANDBETWEEN(65,90)),CHAR(RANDBETWEEN(48,57)))
获取4位你把这道个公式复制4次中间用回&连接就行了,比如答2位就是
IF(RANDBETWEEN(0,1)=0,CHAR(RANDBETWEEN(65,90)),CHAR(RANDBETWEEN(48,57)))&IF(RANDBETWEEN(0,1)=0,CHAR(RANDBETWEEN(65,90)),CHAR(RANDBETWEEN(48,57)))
LS都是高手啊,小弟借问下(RAND()*9+48,RAND()*25+65,RAND()*25+97),用哪个函数调出里面3个random中任意一个e799bee5baa6e79fa5e98193e4b893e5b19e361数值,用or就变成判断了,结果为TRUE
我的方法和几位相同,concatenate,char,但是会有大小英文和数字这3种结果,code码又不相连,所以要从上述3个条件中选一个
请教请教,麻烦告知不胜感激
折中实现大小写字母和数字混合的密码
=CONCATENATE(CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))),CHAR(INT(CHOOSE(INT(RAND()*2.999+1),RAND()*9+48,RAND()*25+65,RAND()*25+97))))
思路:先构建一知个序列,1-36,右列录入为A-Z字母道,0-9数字。
随机字符使用randbetween()和vlookup()共同完成。
字符之间内使用&连接。
公式为:其中$N$1:$O$26为构建的容序列
=VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)&VLOOKUP(RANDBETWEEN(1,36),$N$1:$O$36,2,0)