• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessのクエリをEXCELのVBAを使用して置き換える方法をご教)

AccessのクエリをEXCELのVBAで置き換える方法

このQ&Aのポイント
  • AccessのクエリをEXCELのVBAを使用して置き換える方法を教えてください。
  • AccessデータをExcelに変換し、品番を縦並び、納期を横並びにして受注残を表示するVBAの処理方法を教えてください。
  • Office Links→Excelの出力処理をVBAで自動化する方法や、クエリから直接データを取得する方法を教えてください。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

Accessのデータベースを単なるデータファイルとして扱い、すべてExcel VBAで処理したければ、ADOのお勉強をなさってください。 http://home.att.ne.jp/zeta/gen/excel/c04p02.htm ご希望とは制御の方向が逆ですが、Accessからクエリの結果をExcelに貼り付け、Excelを操作する事例を下記のNo.2で回答しております。ご参考まで。 http://okwave.jp/qa/q5137524.html

77TAKETAKA
質問者

お礼

参考資料有難うございました。 今回はEXCELのADOを参照設定してデータを取り込むように することが出来ました。Acccesからの制御は次回TRYしてみます。

その他の回答 (3)

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.4

・エクセル形式でエキスポートします ・VBAなら  DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel5, "クエリー名", "エクセルのファイル名"

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

以前作ったものです。 たたき台にして下さい。 Sub Acc2Xls() 'MDBからカレントシートへ転記   Dim cn As Object   Dim rs As Object   Dim strSql As String   Dim i As Long, j As Long      If Range("A1") = "" Then Exit Sub      Rows("3:3").Select   Range(Selection, Selection.End(xlDown)).Select   Selection.ClearContents   Range("A1").Select   Set cn = CreateObject("ADODB.Connection")   Set rs = CreateObject("ADODB.Recordset")   cn.Open "Driver={Microsoft Access Driver (*.mdb)};" _     & "DBQ=g:\あれ.mdb;"   'g:\あれ.mdb は適宜変更を      strSql = "select * from それ" _       & " where これ like '%" & Range("A1").Value & "%'" _       & " order by ID"  'AccessのSQL文を流用    ↑ADOなのでワイルドカードは%   rs.Open strSql, cn, 0, 1      For j = 0 To rs.fields.Count - 1     Cells(2, j + 1) = rs.fields(j).Name   Next      Application.ScreenUpdating = False '  Range("A3").CopyFromRecordset rs   'メモ型の文字数制約などが有ったため没   Do Until rs.EOF     i = i + 1     For j = 0 To rs.fields.Count - 1       Cells(i + 2, j + 1) = rs.fields(j)     Next     rs.movenext   Loop   Application.ScreenUpdating = True      rs.Close: Set rs = Nothing   cn.Close: Set cn = Nothing End Sub

77TAKETAKA
質問者

お礼

たたき台資料有難うございました。 色々調べて他4件との合作みたいな感じで データ読み込むことに成功しました。 又、宜しくお願いいたします。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

そのままコピーして貼り付けではできませんでしょうか。

77TAKETAKA
質問者

補足

説明が悪くて誠にすみません。 行いたい作業は クエリ指定→Office Links→Excelの出力処理→指定EXCELデータに貼り付けをEXCEL VBAにて自動処理。 もしくは指定クエリから直接データを引き込むEXCELのVBA処理方法をご教授お願いいたします。 以上説明で伝えられるかと思います。 宜しくお願いいたします。