想问问在Excel中怎样可以随机生成一个6位的字母数字组合
想问问在Excel中怎样可以随机生成一个6位的字母数字组合,第一位是固定字母A,后面的5个数字是随机的,不过最多只能有2个大写字母。字母不能再最后一位,字母也可以不是连续...
想问问在Excel中怎样可以随机生成一个6位的字母数字组合,第一位是固定字母A,后面的5个数字是随机的,不过最多只能有2个大写字母。字母不能再最后一位,字母也可以不是连续的。 就是类似车牌号的样子。 谢谢!!!!!!!!
展开
2个回答
展开全部
如果你大写字母位置是固定的,可以用公式写,否则你用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))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询