私のVBAコードは(ヘッダなし)MS Accessでの私のクエリを転送することになっている、ヘッダなしでExcelに にセルK17合計という名前の既存のExcelスプレッドシート上の 。Excelの更新されたファイルが、変更なし:エクスポートクエリ
エクセルファイルのプロパティでモジュールを実行すると、最後に変更された時間がモジュールを実行したときに更新されました。しかし、私はExcelスプレッドシートで私のクエリが表示されません。
私のコードに関するアドバイスは高く評価されます。どうもありがとうございます!
Sub TransToXL()
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlWS As Excel.Worksheet
Dim acRng As Variant
Dim xlRow As Integer
Dim qry As QueryDef
Dim rst As Recordset
Set xlApp = New Excel.Application
Set xlWB = xlApp.Workbooks.Open("C:\Users\MyName\Desktop\August 2017.xlsx")
Set xlWS = xlWB.Worksheets("Totals")
xlRow = (xlWS.Columns("K").End(xlDown).Row)
Set qry = CurrentDb.QueryDefs("DollarsSold")
Set rst = qry.OpenRecordset
Dim c As Integer
c = 11
xlRow = xlRow + 16
Do Until rst.EOF
For Each acRng In rst.Fields
xlWS.Cells(xlRow, c).Formula = acRng
c = c + 1
Next acRng
xlRow = xlRow + 1
c = 1
rst.MoveNext
If xlRow > 25 Then GoTo rq_Exit
Loop
rq_Exit:
rst.Close
Set rst = Nothing
Set xlWS = Nothing
xlWB.Close acSaveYes
Set xlWB = Nothing
xlApp.Quit
Set xlApp = Nothing
Exit Sub
End Sub
変数cが、colum番号を格納するものである、C = 1、カラムA、11はこのコードでは、Kであることを意味する、私はxlRow+16
を設定する方法について混乱しています。 xlRow+16
であり、c = 11はK17を指していない。これに関するアドバイスは何ですか?ありがとうございました!
もっと具体的で詳細にしてください:あなたは何を達成したいですか?何が働いていないのですか?エラーメッセージ? – peakpeak
私の質問はそれほど具体的ではないことを謝ります。私はちょうど 'xlWS.Cells'がセルK17 @peakpeakにポイントをダブルチェックするように更新しました –
質問は何ですか? – peakpeak