VBA 配列の範囲指定方法について 大量にデータが入っている一次元配列から、連続した数個のデータを抽出したいのですが、 範囲指定の書き方が分かりません。 例えば
VBA 配列の範囲指定方法について 大量にデータが入っている一次元配列から、連続した数個のデータを抽出したいのですが、 範囲指定の書き方が分かりません。 例えば arr(0 to 1000000)のデータがあるとして、arr(3)から連続した6個のデータを抽出したい セルで書くと、Range("C3:C8")やRange(cells(3,3),cells(8,3))のような指定の方法はあるのでしょうか? ループで別配列に抽出する方法は分かるのですが、一括で範囲指定する方法があれば教えてください。
ベストアンサー
VBAとしての方法は無かったと思います。 ワークシート関数を使う方法なら Sub test() Dim i As Long, arr(0 To 1000000) For i = 0 To 1000000 arr(i) = i * 100 Next Cells(1, 1).Resize(, 6) = Application.Index(arr, Array(3, 4, 5, 6, 7, 8)) End Sub ※スピルの利かないバージョンで動くかどうかは分かりません。
早々のご回答ありがとうございます。 ただ、取り出したいデータの個数が2個だったり36個だったりと定まっておりません。 "3, 4, 5, 6, 7, 8"の箇所を変数で指定することは可能であれば解決するのですが、可能でしょうか?
質問者からのお礼コメント
早急なご対応ありがとうございました。 お陰様で方針が決まりました。 また困った時はよろしくお願いします。
お礼日時:7/7 17:24