【VBA】任意の文字列の中からランダムな文字列を生成する関数

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【VBA】任意の文字列の中からランダムな文字列を生成する関数

2021-11-2 |

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 で関数が呼ばれる度にセルの値が新しいランダムな文字列で更新されてしまうので、必要があれば、「貼り付けオプション」の「値」で別のセルへコピペしておく。