Function内でループし続けているのですが、原因がわかりません。
Function内でループし続けているのですが、原因がわかりません。 Functionの使い方が良く分かっていないので、試しに使ってみようと思い使ってみたのですがループが止まらなくなってしまい。原因もわかりません。 教えてもらえると嬉しいです。宜しくお願い致します。 Function func01() As Variant Dim arr(20, 4) As Variant Dim i, j, k, l As Long i = 0 k = 1 Do While i < 20 j = 0 l = 1 Do While j < 4 arr(i, j) = k & "-" & l j = j + 1 l = l + 1 Loop i = i + 1 k = k + 1 Loop func01() = arr() End Function Sub test() Range("A1:D20") = func01() End Sub
Visual Basic・50閲覧・100
ベストアンサー
理由がよく分かりませんが・・・ func01() = arr() 現象としてはこの行で無限ループのような動きをしています。 そして、この記述は構文として誤っています。 まず、配列を戻り値とする場合、()は不要です。 同様に、func01の()も配列の()では無いので不要です。 よって、 func01 = arr とすると正しく動作します。
質問者からのお礼コメント
ありがとうございます。 指摘された部分を修正した所、正しく動作しました。
お礼日時:7/4 23:48