実現したいこと
Excelにエクスポートするクエリによってレコード数が変わるので、レコード数に応じてセル範囲を変更して行列の入れ替えを行いたい
前提
①既存のExcelファイルを開く
②B4セルを起点にクエリをエクスポート
③②でエクスポートしたデータの行列を入れ替える
④行列を入れ替えしたデータのすぐ下の行に別のクエリをエクスポートする
これらの操作をクリック時のイベントで行うフォームを作成しています。
今回の質問は③の部分です。
発生している問題・エラーメッセージ
セル範囲の左上はB4で確定しているのですが、右下が不定のため、どのようにセル範囲について記述するかが見当がつきません。
また、AccessからExcelを操作するというのが今までやったことがなかったため、Excelの関数をAccessVBAでどのように記述するのか、どのような関数を使うのかも曖昧です。
該当のソースコード
Private Sub 出力_Click()
Dim dbs As Database Dim rst As Recordset Dim intRow As Integer Dim intCell As Integer Dim xls As Object Set dbs = CurrentDb Set rst = dbs.OpenRecordset("Q_エクスポートするクエリ") Set xls = CreateObject("Excel.Application") With xls .ScreenUpdating = False .workbooks.Open "C:\Users\RY202\Desktop\出力.xlsx" intRow = 4 For intCell = 2 To 5 .Cells(intRow, intCell).Value = rst.Fields(intCell - 2).Name Next intCell .Range("B5").CopyFromRecordset rst .Cells.Select .Cells.EntireColumn.AutoFit .Range("A1").Select .ScreenUpdating = True .Visible = True End With Set xls = Nothing
End Sub
試したこと
上記コードで行列を入れ替えたいクエリをExcelに取り込むところまではできました。
補足情報(FW/ツールのバージョンなど)
MicrosoftAccess2019
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー