请高手提供一个Excel表随机生成字母和数字混合的代码

因为工作需要,求Excel的高手帮忙!

我需要一个随机生成字母和数字混合的代码。

前面两位是大写字母,最后一位是数字。为了避免容易混淆,所以前面两位字母是需要剔除I和O两个字母的24个字母,而数字是剔除0和1两个数字的8个数字。同时我需要一个按钮,我只需每次按一下按钮,就能自动生成一个三位的字母,数字混合的字符串。

简单的效果图如下图

如果可以,最好把您的代码上加上注释,我好理解是怎样,谢谢!
我邮箱是rao715@qq.com,也可以把这个Excel表直接发邮件给我,我会以最快答复和满足我功能的为第一采纳。
再次谢谢高手帮忙先!

可以用公式:

=INDEX({"A";"B";"C";"D";"E";"F";"G";"H";"J";"K";"L";"M";"N";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z"},RAND()*24+1)&INDEX({"A";"B";"C";"D";"E";"F";"G";"H";"J";"K";"L";"M";"N";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z"},RAND()*24+1)&INDEX(ROW(2:9),RAND()*8+1)

按F9更新。

追问

兄弟,可以帮忙做个按钮吗?我就是觉得按按键更新麻烦。因为我的是手提,按F9这些功能键需要先按“fn”功能键先,所以希望可以做个按钮出来……麻烦您了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-06
用公式也可做到的
=CHAR(RAND()*25+65)&CHAR(RAND()*25+65)&IF(OR(ROUND(RAND()*9,)=0,ROUND(RAND()*9,)=8),ROUND(RAND()*9,)+1,ROUND(RAND()*9,))追问

问题关键,我希望做一个按钮,可以每次按一下,就帮我刷新一下那个内容啊……您可以帮忙搞搞吗?按钮的那个程序
还有,我刚刚试了您的公式,里面是没有剔除数字中0和1和字母中的I和O,还是有数字1和0,字母I和O的出现的?麻烦帮忙修改一下!谢谢!

第2个回答  2014-10-06
Dim a As String, b As String, c As Integer
Private Sub CommandButton1_Click()
a = Int(Rnd() * 25 + 1)
b = Int(Rnd() * 25 + 1)
c = Int(Rnd() * 9 + 1)
If a = 79 Or a = 73 Then
a = Int(Rnd() * 25 + 1)
End If
If b = 79 Or b = 73 Then
b = Int(Rnd() * 25 + 1)
End If
If c = 48 Or c = 49 Then
c = Int(Rnd() * 9 + 1)
End If
Range("a1") = Chr(a + 65) & Chr(b + 65) & Chr(c + 48)
End Sub
你把代码输入,试下看吧追问

朋友,您的代码可以执行,但无法做到剔除字母I和O,还有数字1和0这两个功能。
按钮更新功能是OK的。

相似回答