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

想问问在Excel中怎样可以随机生成一个6位的字母数字组合,第一位是固定字母A,后面的5个数字是随机的,不过最多只能有2个大写字母。字母不能再最后一位,字母也可以不是连续... 想问问在Excel中怎样可以随机生成一个6位的字母数字组合,第一位是固定字母A,后面的5个数字是随机的,不过最多只能有2个大写字母。字母不能再最后一位,字母也可以不是连续的。 就是类似车牌号的样子。 谢谢!!!!!!!! 展开
 我来答
风之疯子
2014-07-29 · TA获得超过358个赞
知道小有建树答主
回答量:539
采纳率:0%
帮助的人:327万
展开全部
如果你大写字母位置是固定的,可以用公式写,否则你用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))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
reynold_bd
2014-07-29 · 超过10用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:14.7万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式