アクセスからエクセルへの転記、シート指定
アクセスからエクセルへの転記、シート指定 ネットで調べて下記のコードを使用しました。これだとシートAにしか出力が出来ません。(最後に開いたシートに転記されるようなので閉じる前にシートAを選択してから閉じます。) 使用しているエクセルテンプレートにはシートA,B,C,Dがありそれぞれ必要とするデーター、フォーマットが異なっています。 B,C,Dシートにもデーターを出力したいです。具体的にいうと、今使っているVBAのシートAの転記が終わったらシートBへの転記、その後はC,Dのシートへと転記を続ける。このためには下記コードにさらにどのようなコードを入れればいいのか教えていただきたいです。 Dim dbs As Database Dim qdf As QueryDef Dim rst As Recordset Dim xls As Object Dim intRow As Integer Dim lngOrderID As Long Dim strSaveBookPath As String Const cstrTemplateDir As String = "\\D:\RExcel出力\伝票Template\" Const cstrTemplateBook As String = "受注出荷入力原票Ver3.13.xlsx" Set dbs = CurrentDb Set qdf = dbs.QueryDefs("Q04出荷書Excel出力1") With qdf .Parameters("[Forms]![F04出荷書1]![出荷書1ID]") = Forms!F04出荷書1!出荷書1ID Set rst = .OpenRecordset End With Set xls = CreateObject("Excel.Application") With xls .ScreenUpdating = False .Workbooks.Open cstrTemplateDir & cstrTemplateBook ’シートAへ転記開始。顧客情報を転記。 .Cells(3, 6).Value = rst!顧客名 'ループ転記(商品情報の転記) intRow = 14 Do Until rst.EOF ’ここで販売商品情報を入れます。) intRow = intRow + 4 rst.MoveNext Loop rst.Close ★シートAへの転記が終わりました。 ここでシートBへと移るコードが知りたいです。 Dim Path As String Dim WSH As Variant Set WSH = CreateObject("Wscript.Shell") Dim DesktopPath As String DesktopPath = WSH.SpecialFolders("Desktop") & "\" Set WSH = CreateObject("Wscript.Shell") strSaveBookPath = DesktopPath & Format(Me!見積書1ID, "0000" & "-1") & "出荷処理依頼書" & ".xlsx" On Error Resume Next Kill strSaveBookPath On Error GoTo 0 .ActiveWorkbook.SaveAs strSaveBookPath .ScreenUpdating = True .Quit End With Set xls = Nothing Set WSH = Nothing a = MsgBox("デスクトップへ出力完了")
Microsoft Access・95閲覧・100
ベストアンサー
Dim wb as object set wb = .Workbooks.Open cstrTemplateDir & cstrTemplateBook ’シートAへ転記開始。顧客情報を転記。 with wb.worksheets("シートA") .Cells(3, 6).Value = rst!顧客名 'ループ転記(商品情報の転記) intRow = 14 Do Until rst.EOF ’ここで販売商品情報を入れます。) intRow = intRow + 4 rst.MoveNext Loop rst.Close end with '★シートAへの転記が終わりました。 'ここでシートBへと移るコードが知りたいです。 With wb.worksheets("シートB") 'シートBへの転記 end with With wb.worksheets("シートC") 'シートCへの転記 end with With wb.worksheets("シートD") 'シートDへの転記 end with
この返信は削除されました
質問者からのお礼コメント
教えていただきありがとうございます。ヒントから自分で色々Webで調べてやって、なんとかテスト版が動いたので段階的に本番を作っていきます。また壁にぶつかったら可能な限り自分で調べますが、このようなヒントを教えていただけるとWeb検索の幅が広がり、勉強になり、ありがたいです。
お礼日時:1/19 19:18