Fungsi Pencarian VBA - Bagaimana menggunakan Fungsi Pencarian? (Contoh)

Fungsi Excel VBA LOOKUP

Pencarian adalah fungsi yang membantu kita mengambil data dari jadual utama berdasarkan satu nilai pencarian. Fungsi VBA LOOKUP tidak memerlukan struktur data seperti itu, untuk fungsi LOOKUP tidak masalah sama ada lajur hasil berada di sebelah kanan atau kiri dari nilai carian, namun, ia dapat mengambil data dengan selesa.

Ini berfungsi sama dengan fungsi VLOOKUP, tetapi yang lebih penting, ini fleksibel dalam struktur data. Apabila kita mengatakan fleksibel dalam struktur data, itu bermaksud VLOOKUP memerlukan semua nilai di sebelah kanan nilai pencarian di jadual utama, dan apa sahaja yang tersisa di nilai carian VLOOKUP tidak dapat menemuinya.

Sintaks

Sekiranya anda sudah mencari formula LOOKUP di editor VBA, saya pasti anda telah marah kerana ada formula yang disebut LOOKUP di VBA.

Sebab mengapa ia tidak tersedia secara lalai kerana LOOKUP bukan fungsi VBA, ia adalah fungsi lembaran kerja. Oleh itu, untuk menggunakan fungsi LOOKUP, kita perlu menggunakan fungsi lembaran kerja terlebih dahulu di kelas VBA.

  • Arg 1 bermaksud nilai carian
  • Arg 2 adalah vektor carian kami, iaitu julat lajur nilai carian kami
  • Arg 3 adalah vektor hasil kami.

Bagaimana Menggunakan Fungsi Pencarian VBA? (Contoh)

Contoh # 1

Kami mempunyai data berikut dari mana kami ingin mendapatkan Harga Purata nama produk tertentu menggunakan fungsi Lookup di VBA Excel.

Untuk mendapatkan Harga Purata Aksesori Mudah Alih untuk menggunakan kod berikut.

Langkah 1: Mulakan subproses di VBA.

Kod:

Sub Pencarian_Contoh1 () Akhir Sub

Langkah 2: Saya memerlukan hasilnya di sel F3. Jadi kod saya adalah Range ("F3"). Nilai =.

Kod:

Sub Look__Contoh1 () Julat ("F3"). Nilai Akhir Sub

Langkah 3: Seperti yang saya katakan, kami tidak dapat langsung mengakses fungsi LOOKUP. Jadi pertama, gunakan kelas Fungsi Lembaran Kerja.

Langkah 4: Sebaik sahaja kita menerapkan kelas Fungsi Lembaran Kerja, kita dapat melihat semua formula yang tersedia dengan kelas ini di VBA, jadi pilih LIHAT dari senarai ini.

Langkah 5: Dengan fungsi lembaran kerja di VBA, kami tidak melihat argumen formula yang jelas. Di sini Arg 1 bermaksud nilai carian. Nilai carian kami ada di sel E3, jadi tulis kodnya sebagai Julat ("E3"). Nilai.

Kod:

Sub Look__Contoh1 () Julat ("F3"). Nilai = Lembaran KerjaFungsi.Lihat (Julat ("E3"). Nilai Akhir Sub

Langkah 6: Arg 2 adalah vektor carian kami, iaitu julat lajur nilai carian kami. Dalam contoh ini, julat vektor carian kami adalah dari B3 hingga B10.

Kod:

Sub Look__Contoh1 () Julat ("F3"). Nilai = Lembaran KerjaFungsi.Lihat (Julat ("E3"). Nilai, Julat ("B3: B10"), Sub Akhir

Langkah 7: Arg 3 adalah vektor hasil kami. Kami memerlukan hasilnya dari lajur Harga Purata, jadi vektor hasilnya adalah dari Rentang C3 hingga C10.

Kod:

Sub Look__Contoh1 () Julat ("F3"). Nilai = Lembaran KerjaFungsi.Lihat (Julat ("E3"). Nilai, Julat ("B3: B10"), Julat ("C3: C10")) Sub Akhir

Ok, kita selesai dengan pengekodan VBA.

Mari jalankan kodnya, dan kita harus mendapatkan hasilnya di sel F3.

Seperti ini, kita dapat menggunakan fungsi LOOKUP di bawah kelas fungsi lembaran kerja untuk mengambil data dari nilai pencarian yang disediakan.

Contoh # 2

Gunakan Pemboleh ubah untuk Fungsi LOOKUP

Dengan menggunakan pemboleh ubah juga kita dapat memperoleh hasil. Berikut adalah contoh kod fungsi carian dengan pemboleh ubah.

Kod:

Sub Lookup_Example2() Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range("F3") Set LookupValueCell = Range("E3") Set LookupVector = Range("B3:B10") Set ResultVector = Range("C3:C10") ResultCell = WorksheetFunction.Lookup(LookupValueCell, LookupVector, ResultVector) End Sub

Even though it looks lengthy, it will give good exposure to variables in VBA. Instead of supplying all the values to the formula directly, we have declared variables and assigned set of ranges and values to them.

Declaring variables and setting the reference to those variables is always a good practice in any coding language.

Things to Remember

  • LOOKUP is an alternative function to VLOOKUP.
  • LOOKUP tidak semestinya memerlukan lajur hasil berada di sebelah kanan nilai carian.
  • Panjang julat vektor carian dan vektor hasilnya harus sama.
  • Lebih penting lagi, kita perlu memberikan nombor indeks lajur, yang diperlukan untuk fungsi VLOOKUP.

Artikel menarik...