Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4776 / 9994 ←次へ | 前へ→

【8458】Re:動的二次配列について
発言  小僧  - 06/8/14(月) 16:24 -

引用なし
パスワード
   ▼タロロ さん:
こんにちは。

>「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次元目共に要素数を変える訳には行きませんが…。
389 hits

【8453】動的二次配列について タロロ 06/8/14(月) 10:34 質問
【8454】Re:動的二次配列について 小僧 06/8/14(月) 13:35 発言
【8456】Re:動的二次配列について 3 06/8/14(月) 14:05 回答
【8457】Re:動的二次配列について タロロ 06/8/14(月) 14:20 お礼
【8458】Re:動的二次配列について 小僧 06/8/14(月) 16:24 発言

4776 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078226
(SS)C-BOARD v3.8 is Free