想问问在Excel中怎样可以随机生成一个6位的字母数字组合

想问问在Excel中怎样可以随机生成一个6位的字母数字组合,第一位是固定字母A,后面的5个数字是随机的,不过最多只能有2个大写字母。字母不能再最后一位,字母也可以不是连续的。 就是类似车牌号的样子。 谢谢!!!!!!!!

第1个回答  2014-07-29
如果你大写字母位置是固定的,可以用公式写,否则你用VBA写吧,追问

就第一位是固定 其他就不需要了

追答

要判断是否超过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 我的

第2个回答  2014-07-29
Sub test()
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. 给你个网址你先看看吧

http://jingyan.baidu.com/article/03b2f78cabf9805ea337ae43.html

本回答被网友采纳