Hehe... Mr. @Petter Jo ... maaf, saya belum sempat utak atik VBA Code yang saya maksud sebelumnya, namun tetap dalam daftar kerja ;) Btw, untuk kode yang dimaksud, pada dasarnya sudah terlihat pada kode VBA yang saya uraikan di atas:
...
Sheet2.Range("A:A").ClearContents
Sheet2.Range("A1").CopyFromRecordset dbRS
...
Pada baris kode tersebut, dbRS merupakan hasil query yang kemudian diekspor ke sel A1 menggunakan fungsi CopyFromRecordset. Hanya saja, pada kode tersebut, tidak menampilkan header dari masing-masing query field. Hanya berupa datanya saja. Untuk menampilkan nama header dari query field-nya, harus ada tambahan kode. Misalnya:
...
Sheet2.Cells(Cells(1, 1), Cells(dbRS.RecordCount, dbRS.Fields.Count)).ClearContents
For i = 0 To dbRS.Fields.Count - 1
Sheet2.Cells(1, i + 1) = dbRS.Fields(i).Name
Next i
Sheet2.Range("A2").CopyFromRecordset dbRS
...
Jadi, untuk konsep dasarnya kurang lebih seperti itu. Belum saya coba sih. Jika data querynya hendak diekspor ke sebuah Excel Tabel, mungkin beberapa baris kode VBA di diskusi ini bisa diadaptasikan.
Pertanyaan saya, mengapa tidak langsung diproses dari Access saja pak? Bukankah di Access juga ada VBA, Sehingga, maaf, jadinya tidak dua kali kerja. Awalnya saya kira pak @Petter Jo hendak membuat Query dari Access yang hasilnya akan ditampilkan di Excel saja.