
動画で楽にパソコンが身につく方法はこちら>>
VBAでテーブルやクエリのレコードをエクセルに入力する手順は以下の通りです。
1 エクセルオブジェクトを生成する。
2 ADOまたはDAOなどでレコードにアクセスする。
3 1レコードごとエクセルに入力する。
4 エクセルを保存し、オブジェクトを終了、開放する。
以下はVBAでテーブルやクエリのレコードをエクセルに入力する一例です。
Dim oApp As Object
Set oApp = CreateObject(“Excel.Application”)
Dim xlRange As Excel.Range
Dim objBook ‘ExcelBook
Dim objSheet
エクセルオブジェクトを宣言し、生成する。
‘指定のエクセルファイルを開く
oApp.Workbooks.Open filename:=pas & filename
Set objBook = oApp.ActiveWorkbook
‘エクセルファイルへデータセットする
oApp.Sheets(“日計表”).Select
Set objSheet = objBook.Sheets(1)
シート「日計表」を選択する。
oApp.Cells.Clear
シートの中身をクリアする。
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strTbl As String
Dim cnq As New ADODB.Connection
Dim rsq As New ADODB.Recordset
Dim comq As New ADODB.Command
Set cnq = CurrentProject.Connection
comq.ActiveConnection = cnq
comq.CommandText = “Q_日計”
Set rsq = comq.Execute
Q_日計クエリにアクセスする。
最終レコードまで繰り返す。
Do Until rsq.EOF
oApp.Range(“A” & Format(i)).Value = rsq!業者名1
oApp.Range(“B” & Format(i)).Value = rsq!発注材料名1
oApp.Range(“C” & Format(i)).Value = rsq!単位1
oApp.Range(“D” & Format(i)).Value = rsq!単価1
レコードの値をセルに入力する。
Loop
Set comq = Nothing
rsq.Close: Set rsq = Nothing
cnq.Close: Set cnq = Nothing
クエリへの接続を終了する。
Set xlRange = Nothing
oApp.Workbooks(1).Close SaveChanges:=True
エクセルを保存する。
oApp.Quit
Set oApp = Nothing
エクセルオブジェクトを終了、開放する。

動画で楽にパソコンが身につく方法はこちら>>