

Excel VBA で「配列に一気に値を詰めたい」「ワークシート関数をVBAから呼びたい」と思ったことはありませんか?
そんなとき便利なのが
Application.Evaluate
です!

文字列で数式を指定するだけで、VBA配列として結果を受け取れます。
以下の数式は、5行 x 3列 の二次元配列に対して、1~100の乱数を生成する関数式です。
RANDARRAY(5,3,1,100,TRUE)
Sub Sample()
Dim arr As Variant
arr = Application.Evaluate("RANDARRAY(5,3,1,100,TRUE)")
' 配列の中身を見てみる
Range("A1:C5") = arr
End Sub


ループ不要で高速なのも魅力です。



コメントを残す