|
▼hiyo さん:
こんばんは。
>二次元配列をシートの範囲に一発転写する方法はあるでしょうか?
>二次元配列が持つ値を、繰り返し文など使って転写することは出来ますが
>とても遅く
>セル範囲の値の入力でも、(Rang("A1","G100").value = 1)のように
>したら、繰り返し文で一つづつのセルに入力するよりも格段に早いので、
>そういった方法がもしあれば教えてください。
>また逆に、セル範囲を一発で二次元配列に格納する方法もあれば教えてください。
過去ログにも↑たくさんありますけどね!!
新規ブックの標準モジュールに
'=======================================
Sub sample()
Dim g0 As Long, g1 As Long
Dim array_lbl2(1 To 3, 1 To 3) As Long
Dim rec_lbl2 As Variant
Cells.Clear
For g0 = 1 To 3
For g1 = 1 To 3
array_lbl2(g0, g1) = g0 * g1 + 1
Next
Next
Range(Cells(1, 1), Cells(UBound(array_lbl2, 1), UBound(array_lbl2, 2))).Value = array_lbl2()
MsgBox "二次元配列をセルに移行 確認!!"
rec_lbl2 = Range(Cells(1, 1), Cells(UBound(array_lbl2, 1), UBound(array_lbl2, 2))).Value
For g0 = LBound(rec_lbl2, 1) To UBound(rec_lbl2, 1)
For g1 = LBound(rec_lbl2, 2) To UBound(rec_lbl2, 2)
MsgBox rec_lbl2(g0, g1)
Next
Next
MsgBox "セル範囲を二次元配列に移行"
Erase array_lbl2()
Erase rec_lbl2
End Sub
上記のコードとこれを実行した結果を調べてみて下さい。
|
|