• ベストアンサー

Accessの値をExcelに縦横入替出力させる

現在、作業列を使って一旦AccessからデータをVBAでADOを使用して読み込み その後transpose関数で入れ替えているのですが 出力する前に縦横を入れ替えた状態にはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

>出力する前に縦横を入れ替えた状態 テーブルやクエリで持たせるにしても コードが面倒なので、以下のように 定番のような方法がありますが、 どうでしょうか。ADOで行ないます。 Excelでの記述です。 ファイルまでのパスや、コネクション設定は 省きます。必要な変数だけ設定しておきます。 なお、rsはADODB.Recordsetです。   ・   ・   ・ Dim buf() As Variant Dim i As Long Dim j As Long   ・ 'ここにAccessファイルへのコネクションを設定   ・   ・ i = rs.Fields.Count j = rs.RecordCount ReDim mbuf(i - 1, j - 1) buf = rs.GetRows Range(Cells(1, 1), Cells(i, j)) = buf これで終了です。 ポイントはADOのGetRowsを使うことです。 ただし、メモリを消費するので巨大なデータでは 何がおこるかはわかりませんが。

fwod
質問者

お礼

返事が遅くなってしまい、申し訳ございません。 回答ありがとうございました、試してみます

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。 コードの途中で、 >ReDim mbuf(i - 1, j - 1) となっていますが、bufに変なものをくっつけていました。  ReDim buf(i - 1, j - 1) です。

関連するQ&A