我在vba
中创建了此脚本Sub code_piece_motoculture()
Randomize
caractere = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lettre_nombre = ""
For i = 1 To 15
nombre_alea = Int(Len(caractere) * Rnd) + 1
lettre_nombre = lettre_nombre & Mid(caractere, nombre_alea, 1)
If i = 5 Then lettre_nombre = lettre_nombre & "-"
If i = 10 Then lettre_nombre = lettre_nombre & "-"
Next
Range("A1") = lettre_nombre
End Sub
我只有这个结果A1
ATBBM-YSHSS-G5ZVH
,但我希望在单元格A2-> a3-> a4-> a5 ect上进行不同的结果你能帮我吗?
我确定有更清洁的东西,但这将实现您正在寻找的
Sub code_piece_motoculture()
Randomize
caractere = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lettre_nombre = ""
For j = 1 To 10 'entrer le nombre de lignes desiree
For i = 1 To 15
nombre_alea = Int(Len(caractere) * Rnd) + 1
lettre_nombre = lettre_nombre & Mid(caractere, nombre_alea, 1)
If i = 5 Then lettre_nombre = lettre_nombre & "-"
If i = 10 Then lettre_nombre = lettre_nombre & "-"
Next
Range("A" & j) = lettre_nombre
lettre_nombre = ""
Next
End Sub
尝试此功能...
Public Function GenerateRandomStuff() As String
Dim i As Long, lngNumber As Long, lngBetween As Long
For i = 1 To 15
lngBetween = WorksheetFunction.RandBetween(1, 2)
If lngBetween = 1 Then
lngNumber = WorksheetFunction.RandBetween(48, 57)
Else
lngNumber = WorksheetFunction.RandBetween(65, 90)
End If
GenerateRandomStuff = GenerateRandomStuff & Chr(lngNumber)
If i = 5 Then GenerateRandomStuff = GenerateRandomStuff & "-"
If i = 10 Then GenerateRandomStuff = GenerateRandomStuff & "-"
Next
End Function
...为我工作很好。
您可以将其添加到单元格中,如果要将其添加到更多单元格中,则无需扩展宏,只需复制并粘贴公式...
=GenerateRandomStuff()
...如果您想阻止每次刷新,请复制和粘贴特殊值,然后完成。