【VBA】任意の文字列の中からランダムな文字列を生成する関数
2021-11-2 | VBA
VBA で任意の文字列の中からランダムな文字列を生成する関数を作成する手順です。
生成する文字列に文字の種類を指定したい場合に有効です。
GET で渡すパラメーターとか。
手順
Option Explicit
Public Function TOKEN(leng As Integer) As String
Dim c As String
c = "abcdefghijklmnopqrstuvwxyz0123456789" '出力したいに文字列に使う文字
Dim clen As Integer
clen = Len(c)
Dim r As String
Dim i As Integer
Randomize
For i = 1 To leng
r = r & Mid(c, Int(Rnd() * clen) + 1, 1)
Next
TOKEN = r
End Function
引数で出力したい文字列の長さを引数で指定する。
注意点
Excel で関数が呼ばれる度にセルの値が新しいランダムな文字列で更新されてしまうので、必要があれば、「貼り付けオプション」の「値」で別のセルへコピペしておく。