VBAに関して質問です。

VBAに関して質問です。 Sub Test() Dim v As Variant v = Range("A1:C2") v(2, 1) = "A2の値を修正" v(2, 2) = "B2の値を修正" v(2, 3) = "C2の値を修正" Range("A1:C2") = v End Sub このようなコードがあります。 最初に("A1:C2")の範囲を2次元の配列として宣言し、そこに値を格納していきます。 ("A1:C2")を配列としたのだから、そこに格納していくと値が都度表示されるような感覚があるのですが、実際はRange("A1:C2") = vで値が表示されます。 v(2, 1) = "A2の値を修正" v(2, 2) = "B2の値を修正" v(2, 3) = "C2の値を修正" これらはどこに格納されていると考えればよいのでしょうか。

Visual Basic8閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

メモリ上ですね。 都度入力してては配列にする意味がありません。 メモリ上で処理して、最後に一括で入力する事で処理速度をUPさせるのが配列のメリットです。

ということは 最初に指定したv = Range("A1:C2")に深い意味はなく、のちに入力する範囲(サイズ?)と同じであればなんでもよいということでしょうか。 その際にサイズの間違いをなくすため同じ範囲を利用していると考えて問題ないですか?