想问问在Excel中怎样可以随机生成一个6位的字母数字组合,第一位是固定字母A,后面的5个数字是随机的,不过最多只能有2个大写字母。字母不能再最后一位,字母也可以不是连续的。 就是类似车牌号的样子。 谢谢!!!!!!!!
就第一位是固定 其他就不需要了
追答要判断是否超过2个字母,也要用VBA写
给你个公式参考吧,如果要生成字母,把48,57改成65,90就行
=CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(48,57))&CHAR(RANDBETWEEN(48,57))&CHAR(RANDBETWEEN(48,57))&CHAR(RANDBETWEEN(48,57))&CHAR(RANDBETWEEN(48,57))
可以加QQ详细问问嘛 52150637 我的
Dim strT As String
Dim strC As String
Dim N As Integer
Dim iCharCount As Integer
strT = "A"
iCharCount = 0
Do While Len(strT) < 5
N = Int(Rnd() * 52 + 1)
If N < 11 Then
strC = Chr(N + 47)
strT = strT & strC
ElseIf N >= 11 And N < 37 And iCharCount < 2 Then
strC = Chr(64 + N - 10)
strT = strT & strC
iCharCount = iCharCount + 1
ElseIf N >= 36 And N < 53 Then
strC = Chr(96 + N - 36)
strT = strT & strC
End If
Loop
N = Int(Rnd() * 10 + 1)
strC = Chr(N + 47)
strT = strT & strC
MsgBox strT
End Sub追问
怎么用啊 直接复制到表格中?
追答我想你可能只考虑了大写字母的情况,又把程序改了一下:
用法:
打开Excel,按alt+F11键,打开宏编辑器,在左边有打开的文件列表,用鼠标右键点击相应的文件,选择命令 "插入>模块", 将以下代码插入新建的模块中。然后回到Excel输入界面中,在单元格内输入 “=mystring()"
Public Function MyString() As String
Dim strT As String
Dim strC As String
Dim N As Integer
Dim iCharCount As Integer
Dim iBase As Integer
iBase = 36
strT = "A"
iCharCount = 0
Do While Len(strT) = 11 And N < 37 Then
strC = Chr(64 + N - 10)
strT = strT & strC
iCharCount = iCharCount + 1
If iCharCount = 2 Then iBase = 10
End If
Loop
N = Int(Rnd() * 10 + 1)
strC = Chr(N + 47)
strT = strT & strC
MyString = strT
End Function
可以加QQ详细问问嘛 52150637 我的
追答单位电脑,可以上网,但没有QQ. 给你个网址你先看看吧