我已经在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等使用不同的结果 你能帮我吗?
答案 0 :(得分:0)
我肯定有清洁剂,但这将实现您想要的
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
答案 1 :(得分:0)
尝试使用此功能...
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()
...如果您想阻止它每次刷新,请复制并粘贴特殊值就可以了。