静的配列を動的配列にコピーする
何のことだ? as Variant で = すればいいのでは?と思ったあなたは、できればこの苦労はしない方が良い。
あぁわかる、苦労するよねと思ったあなた、結構な使い手ですね。
Private Sub StaticToDynamic()
Dim StaticArray(1 To 3) As Long, DynamicArray() As Long, LC As Long
StaticArray(1) = 5
StaticArray(2) = 7
StaticArray(3) = 9
ReDim DynamicArray(1 To UBound(StaticArray))
For LC = LBound(StaticArray) To UBound(StaticArray)
DynamicArray(LC) = StaticArray(LC)
Next LC
End Sub
配列は静的と動的があり、コードで
アーリー宣言するのが静的で、
レイト宣言するのが動的なのだが、(極論だからね)
2次元配列の一部をコピーしたい時に、この罠にハマる事がある…
オリジナル as Variant(n) からコピー as Variant(n) に移行したい時に頭を抱えるのです。
上手くコピーできでても、1,2 が (1),(2) とかに分かってないと悲惨の極致だったりするし。
配列変数の難易度はこのへんもあるのだろうなとは思う。