|
▼わんわん さん:
こんにちは
>UBound関数結果は各12(添字の最大値)こんな感じでしょうか?
サンプルを2点書いておきます。
Sub Arrayを使う方法()
Dim arry As Variant
Dim i As Long, j As Long
Dim imax As Long, jmax As Long
arry = Array(Array(6, 7, 2, 11, 16, 17, 19, 12, 13, 15, 8, 9, 10), _
Array(2, 3, 14, 26, 29, 39, 31, 32, 33, 34, 36, 39, 42))
imax = UBound(arry, 1)
jmax = UBound(arry(0), 1)
For i = 0 To imax
For j = 0 To jmax
Worksheets("Sheet1").Cells(i + 1, j + 1).Value = arry(i)(j)
Next j
Next i
End Sub
※個人的にはこちら↓の方が判りやすいです。これを機会に
CollectionのHelpに目を通しておくのが良いかと思います。
Sub コレクションを使う方法()
Dim coll As Collection
Dim i As Long, imax As Long
Dim j As Long, jmax As Long
Set coll = New Collection
coll.Add Array(6, 7, 2, 11, 16, 17, 19, 12, 13, 15, 8, 9, 10)
coll.Add Array(2, 3, 14, 26, 29, 39, 31, 32, 33, 34, 36, 39, 42)
imax = coll.Count
jmax = UBound(coll(1))
For i = 1 To imax
For j = 0 To jmax
Worksheets("Sheet1").Cells(i, j + 1).Value = coll(i)(j)
Next j
Next i
Set coll = Nothing
End Sub
>実際に文法に弱いので勉強したいと思います。
頑張って下さい。
追記:
UBound関数は引数が要素を持たない場合はエラーが発生します。
要素を持たない場合があるときは必ずエラー処理が必要です。
|
|