Gagal uji coba Macro SQL pakai Table

2 views
Skip to first unread message

hendrik karnadi

unread,
Dec 17, 2025, 12:23:33 AM12/17/25
to Milis Belajar-Excel
Dear friends,

Untuk mengisi waktu sebelum makan siang, saya mencoba membuat Macro dengan perintah SQL untuk mem Filter beda kolom dengan File (Input) nya.

File Input (aslinya) terdiri dari beberapa Sheet, namun untuk simulasi saya hanya ambil 1 Sheet yang saya beri Nama Sheet SI_Sub dan Nama Tabel tbl_SI_Sub.

Agar lebih fleksibel perintah SQL nya saya letakkan pada Sheet Parameter Range A1, agar bisa diganti-ganti.
Dalam contoh kasus ini saya menggunakan perintah SQL yang sama namun Sumbernya menggunakan Nama Sheet atau Nama Tabel. 

Pertanyaan saya,
Mengapa perintah SQL dengan menggunakan Nama Sheet [SI_Sub$] BISA tapi dengan menggunakan Nama Tabel tbl_SI_Sub TIDAK BISA dan ada ERROR MSG seperti dibawah ini ? Bagaimana Solusinya ?

Inline image

Terlampir saya lempirkan file Input (File.xlsx) dan file Output (SQL.xlsm) dalam bentuk .rar agar bis didownload ke dalam satu directory atau sub directory.

Terima kasih atas bantuannya.


Salam,
HK 
Macro_SQL.rar

Mr. Kid

unread,
Dec 17, 2025, 7:45:01 AM12/17/25
to Milis Belajar-Excel
[nama sheet$]
[nama sheet$c7:g17]
named_range
[nama sheet dari excel table$range address dari excel excel table]

Regards,
Kid




--
You received this message because you are subscribed to the Google Groups "milis Belajar-Excel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to milis-belajar-e...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/milis-belajar-excel/1777797826.1699328.1765948981732%40mail.yahoo.com.

hendrik karnadi

unread,
Dec 23, 2025, 4:16:29 AM12/23/25
to Milis Belajar-Excel
Dear friends,

Alasan kenapa saya ingin mencoba menggunakan Tabel adalah karena judul kolom sumbernya ada di baris ke 2.
Jika kita gunakan [SI_Sub$] dengan judul kolom di baris ke 2 maka akan ada Error Message "No Value given for required parameter".

Semoga ada rekan2 Belajar-Excel yang dapat membantu.

Terima kasih,

Salam,
HK 


Macro_SQL.rar

Mr. Kid

unread,
Dec 23, 2025, 4:36:09 AM12/23/25
to Milis Belajar-Excel
ini loh solusinya :
cara menuliskan query bagian FROM
[nama sheet$] -> jika data di sheet 'nama sheet' header mulai di A1
[nama sheet$c7:g17] -> jika data di sheet 'nama sheet' header di c7:g7
named_range -> jika data di suatu sheet sudah diberi nama range (dengan blok area data, klik kanan define name)
[nama sheet dari excel table$range address dari excel excel table] -> data dengan object excel table harus menggunakan seperti [nama sheet$c7:g17]





--
You received this message because you are subscribed to the Google Groups "milis Belajar-Excel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to milis-belajar-e...@googlegroups.com.

Sony Ario

unread,
Dec 23, 2025, 5:12:16 AM12/23/25
to Mr. Kid, Milis Belajar-Excel
Mr. Kid,

Ikut bertanya. Mohon maaf saya masih belum paham. Khusus nya untuk yang ini : "[nama sheet dari excel table$range address dari excel excel table] -> data dengan object excel table harus menggunakan seperti [nama sheet$c7:g17]"

apa setiap eksekusi script nya range 
c7:g17 harus dirubah? apakah tidak bisa menggunakan nama tabelnya saja supaya bisa dinamis?

Terima kasih

Mr. Kid

unread,
Dec 23, 2025, 5:17:18 AM12/23/25
to Milis Belajar-Excel
???  Khusus nya untuk yang ini : "[nama sheet dari excel table$range address dari excel excel table] -> data dengan object excel table harus menggunakan seperti [nama sheet$c7:g17]"
berlaku juga untuk [nama sheet$c7:g17] -> jika data di sheet 'nama sheet' header di c7:g7

Ya, selalu disesuaikan dengan area range data terkini. Jadi, pastilah tidak hard-coded alamat range nya
Dengan mengikuti kaidah pembuatan dataset di sheet excel yang beberapanya berupa menyediakan kolom kosong di paling kanan dan baris kosong di paling bawah, maka script vba currentregion atau listobject.range itu bisa digunakan untuk mendapatkan alamat rangenya




hendrik karnadi

unread,
Dec 23, 2025, 10:40:50 AM12/23/25
to Milis Belajar-Excel



----- Forwarded Message -----
From: "hendrik karnadi" <hendrik...@yahoo.com>
Cc:
Sent: Tue, Dec 23, 2025 at 10:37 PM
Subject: Re: [milis-belajar-excel] Fw: Gagal uji coba Macro SQL pakai Table
Terima kasih Mr Kid atas jawabannya dan mas Sony atas pertanyaannya.
Jawaban Mr Kid dengan menggunakan range address (termasuk judul kolom) berhasil dengan baik, namun saya coba mengganti range address nya dengan nama Tabel seperti yang ditanyakan mas Sony blm berhasil.

Saya juga telah bertanya pada Meta AI di WA namun mesinnya belum dapat memberikan jawaban yang tepat.

Sekali lagi, terima kasih Mr. Kid.

Salam,
HK

hendrik karnadi

unread,
Dec 23, 2025, 10:44:12 AM12/23/25
to Milis Belajar-Excel

Mr. Kid

unread,
Dec 23, 2025, 6:20:52 PM12/23/25
to Milis Belajar-Excel
Dari Excel Table (misal bernama xltblXYZ), bisa didapat range address nya, sehingga bisa menyusun format seperti  [nama sheet$c7:g17]
Jika komputer setempat jarang membuka Excel (1 instance Excel) dengan workbook yang terbuka tidak banyak, bisa memberi nama range (klik kanan Define Name) si excel table dengan nama range tertentu. Hal ini menambah jumlah memory yang dibutuhkan Excel (instance) dan memperbanyak object yang perlu dicek dan dijaga untuk selalu ada dan benar rujukannya.





Sony Ario

unread,
Dec 24, 2025, 12:26:27 AM12/24/25
to Mr. Kid, Milis Belajar-Excel
Terima kasih Mr. Kid. Saya pelajari & coba dulu. Khususnya yang currentregion dan listobject.range itu.

Terima kasih pak Hendrik.

Reply all
Reply to author
Forward
0 new messages