给你一个完整程序吧:
Dim c(1 To 15) As String
Dim i As Integer, j As Integer, a As Integer
Randomize Timer
a = 65 + Int(Rnd * 26) + 32 * Int(Rnd * 2)
c(1) = Chr(a)
For i = 1 To 14
Do While True 'Not f
a = 65 + Int(Rnd * 26) + 32 * Int(Rnd * 2)
For j = 1 To i
If c(j) = Chr(a) Then Exit For
Next j
If j > i Then '找到一个
c(i + 1) = Chr(a)
Exit Do
End If
a = 65 + Int(Rnd * 26) + 32 * Int(Rnd * 2)
Loop
Next i
For i = 1 To 15
Print c(i); " ";
Next i
Print
不用这么复杂,一次循环足够
Dim n As Byte
Dim C() As String
Dim sT As String, sC As String
sT = "": n = 0
Do While n < 15
sC = Chr(Int(Rnd * 26) + 65) ' ASCII:65-90 大写字母
If InStr(1, sT, sC) = 0 Then
sT = sT & ";" & sC
n = n + 1
End If
Loop
C = Split(sT, ";") '字母在c(1)-c(15)
Print Join(C(), ""), C(1), C(15) '15个字母,第一个,最后一个
给你个思路
字母的ASCII值
大写 65-90
小写 97-122
随便你随机产生 15个之间的不同数字 然后转换成 字母 即可
一个判断是否存在的函数,一个循环生成的函数就行了
随机生成字母的方法为:c=chr(int(rnd*26)+65)