|
▼タロロ さん:
こんにちは。
>「Preserve で変更できるのは、
>動的配列の最後の次元だけなんですね〜。」
Excel がインストールされている PC でしたら
Excelのワークシート関数であるTranspose関数で入替えが可能です。
(ワークシート関数のため、最小添字が 1になる模様です。)
テーブル、T_Tempを用意して
ID 名前 住所
1 小野 浦和
2 川口 磐田
3 巻 千葉
4 宮本 大阪
5 松井 フランス
Sub 入替えテスト()
Dim RS As DAO.Recordset
Dim myData() As Variant
Dim i As Long
Dim j As Long
Set RS = CurrentDb.OpenRecordset("T_Temp")
Do Until RS.EOF
ReDim Preserve myData(0 To 2, 0 To i)
For j = 0 To 2
myData(j, i) = RS(j)
Next j
i = i + 1
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
'下記行のコメントを操作して下さい。
'myData = CreateObject("Excel.Application").Transpose(myData)
'検証
For i = LBound(myData, 1) To UBound(myData, 1)
For j = LBound(myData, 2) To UBound(myData, 2)
Debug.Print "(" & i & "," & j & "):" & myData(i, j)
Next j
Next i
End Sub
Excel関数を呼び出している行のコメントを外すと、
行・列が入れ替わっていることがイミディエトウィンドウにて
確認できるかと思われます。
1次元目、2次元目共に要素数を変える訳には行きませんが…。
|
|