vb生成随机字母加数字

我随机生成字母和数字,都是分开的,但加一块就不行了,不知道哪有问题,就类似于这种的ZMR56ES3字母加数字该如何生成呢?... 我随机生成字母和数字,都是分开的,但加一块就不行了,不知道哪有问题,就类似于这种的 ZMR56ES3 字母加数字该如何生成呢? 展开
 我来答
szqaly
推荐于2018-04-11 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1497万
展开全部

我白忙了,就是字符串和数字连接问题啊, 用 &  连接符。

不过已经忙了就附上吧:

'主函数
Function GetRndString() As String
    Randomize
    Dim item As String
    item = GetRndLetters(Int(Rnd * 10 + 1)) '获取长度1 到10随机确定的随机字母串
    item = item & GetRndDigits(Int(Rnd * 10 + 1)) '获取长度1到10随机确定的随机数字串
    GetRndString = item
End Function
'产生给定数量的随机数字字符串,由GetRndString调用
Function GetRndDigits(nlen As Integer) As String
    Dim item As String
    Dim i As Integer
    Randomize
    For i = 1 To nlen
        item = item & Int(Rnd * 10)
    Next
    GetRndDigits = item
End Function
'产生给定数量的随机字母字符串,由GetRndString调用
Function GetRndLetters(nlen As Integer) As String
    Const CTable = "ABCDEFGHIJKLMNOPQRSTUVWXYZzbcdefghijklmnopqrstuvwxyz" '如果只想产生大写字母的话,那就把小写字母删除掉
    Dim item As String
    Dim i As Integer
    Dim loc As Integer
    Randomize
    For i = 1 To nlen
        loc = Int(Rnd * Len(CTable) + 1)
        item = item & Mid(CTable, loc, 1)
    Next
    GetRndLetters = item
End Function
TableDI
2024-07-18 广告
Excel表格中的计数函数主要用于统计单元格区域中满足特定条件的数值或非空单元格的数量。最常用的计数函数是`COUNT`和`COUNTA`。`COUNT`函数用于统计选定区域内数值型单元格的数量,忽略文本和空单元格。而`COUNTA`函数则... 点击进入详情页
本回答由TableDI提供
涐吢铱舊囿儚
2013-07-09 · TA获得超过488个赞
知道小有建树答主
回答量:512
采纳率:100%
帮助的人:574万
展开全部

参考一下这个:

Private Sub Command1_Click()
   Dim strText$, i&, v&
   strText = vbNullString
   Randomize
   For i = 1 To 8       ' 1 to 8 就是生成长度为8字符
      v = Rnd() * 35
      If (v > 9) Then
         strText = strText & Chr$(55 + v)
      Else
         strText = strText & Chr$(48 + v)
      End If
   Next
   MsgBox strText, vbInformation
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
minutious
2013-07-09 · 超过12用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:41.2万
展开全部
字母和数字的格式不统一,你要先把数字变为字符,再加在一起就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杜守龙
2013-07-09 · TA获得超过528个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:175万
展开全部
杜守龙说,这段代码可以生成数字与大小写字母混合的10个字节的字符串。
Private Sub Command1_Click()
Dim s As String
Dim a(1 To 3) As String
Dim i As Integer
Dim c As Long
a(1) = Chr(Asc("0") + Int(Rnd() * 9))
a(2) = Chr(Asc("a") + Int(Rnd() * 26))
a(3) = Chr(Asc("A") + Int(Rnd() * 26))
c = Len("s")
Do Until c >= 11
Randomize Timer
s = s & a(Int(Rnd(Rnd()) * 3 + 1))
c = c + 1
Loop
Print s
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式