Home » ExcelVBA Rangeオブジェクト » 指定した文字列をランダムに入力するマクロ

指定した文字列をランダムに入力するマクロ

対象:Excel2003, Excel2007, Excel2010

ランダムな整数をセルに入力するマクロや、ランダムな日付を入力するマクロをご紹介してきました。

テストデータ・サンプルデータを作る場合、指定した文字列をランダムに入力するというマクロが欲しくなるということもあります。

例えば、
 愛実
 明日香
 亜美
 彩佳
というような人の名前を、ランダムにセルに入力したいという要望をいただくことがあります。

[スポンサードリンク]

以下のようなVBA(Visual Basic for Applications)マクロを利用すると、事前に人名などの文字列を指定しておき、その指定した文字列を、選択されているセルに入力することができます。

Sub 指定した文字列をランダムに入力する()

 Dim arr(1 To 4) As String
 Dim rng As Range
 
 arr(1) = "愛実"
 arr(2) = "明日香"
 arr(3) = "亜美"
 arr(4) = "彩佳"
 
 Randomize
 
 For Each rng In Selection
  rng.Value = arr(Int((Rnd * 4) + 1))
 Next

End Sub

まず配列変数・arrに
 arr(1) = "愛実"
 arr(2) = "明日香"
 arr(3) = "亜美"
 arr(4) = "彩佳"
のように文字列を格納し、For Each~Nextループの中で、ランダムに発生させた「1」から「4」の整数「Int((Rnd * 4) + 1)」を、配列・arrの添え字にして「arr(Int((Rnd * 4) + 1))」、配列から取得した文字列を、セルの値に代入「rng.Value =」しています。

事前に指定しておく文字列が3つの場合は、配列を3つ指定しておいて、上記マクロの
「arr(Int((Rnd * 4) + 1))」の部分を
「arr(Int((Rnd * 3) + 1))」とするといいでしょう。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 指定した文字列をランダムに入力するマクロ

「ExcelVBA Rangeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.