Aplikasi VBA.Match - Panduan Langkah demi Langkah dengan Contoh

Aplikasi VBA Excel. Padanan

Salah satu perkara terbaik mengenai VBA ialah ia mempunyai fungsinya sendiri dan juga membolehkan kita mengakses semua fungsi lembaran kerja di bawah kelas "Fungsi Lembaran Kerja". Anda mesti sudah menggunakan fungsi MATCH sebagai fungsi lembaran kerja, tetapi itu bukan fungsi VBA, jadi kita perlu mengakses di bawah kelas fungsi lembaran kerja. Dalam artikel ini, kami akan menunjukkan kepada anda cara menggunakan fungsi MATCH di VBA menggunakan kaedah Aplikasi.

Ringkasan Fungsi PERTANDINGAN Pantas

MATCH adalah fungsi pencarian yang mencari kedudukan nilai carian dalam tatasusunan yang disebutkan. Contohnya, lihat gambar data di bawah.

Dalam data di atas, kita memiliki bulan dari A2 hingga A6, dan jika kita ingin tahu di mana bulan "Mar" berlaku, maka kita dapat menggunakan fungsi MATCH.

Berikut adalah sintaks fungsi MATCH.

PERTANDINGAN (Nilai Pencarian, Array Pencarian, (Jenis Padanan))
  • Nilai Pencarian: Untuk nilai mana kita mencari kedudukan dalam tatasusunan carian.
  • Lookup Array: Dalam array mana kita mencari kedudukan nilai pencarian.
  • (Jenis Pencocokan): Untuk ini, kami dapat memberikan tiga argumen.
  1. 1 = Kurang Daripada
  2. 0 = Padanan Tepat
  3. -1 = Lebih Besar Daripada

Selalunya, kami hanya menggunakan "0 Match Exact".

Bagaimana Menggunakan Fungsi Application.Match di VBA?

Contoh # 1

Lihat data di bawah ini di excel.

Dari data di atas, kita perlu mencari kedudukan bulan “Mar” dalam jarak sel dari A2 hingga A6. Oleh kerana kita memerlukan hasil dalam sel D2, mulailah kodnya sebagai Range ("D2"). Nilai =.

Untuk mencapai nilai dalam sel D2, kita perlu menggunakan fungsi lembaran kerja MATCH, jadi untuk mengaksesnya terlebih dahulu, kita perlu mengakses objek APLIKASI dan kemudian objek FUNGSI KERJA.

Masukkan titik untuk melihat senarai fungsi lembaran kerja.

Pilih "Padankan" dari senarai.

Salah satu masalah dalam VBA ketika menggunakan fungsi lembaran kerja adalah kita tidak melihat sintaks yang tepat seperti yang kita lihat dengan fungsi lembaran kerja. Ini adalah salah satu sebab kami telah menjelaskan sintaks pada awalnya.

Jadi, argumen pertama adalah nilai carian, iaitu untuk nilai mana yang kita cari untuk mencari tempat. Dalam kes ini, kami mencari tempat untuk "Mar" yang ada di sel C2, jadi berikan rujukan sel.

Argumen seterusnya adalah tatasusunan pencarian, iaitu dalam julat mana kita mencari kedudukan nilai pencarian , untuk sel bekalan ini dari A2 hingga A6.

Argumen terakhir adalah padanan tepat, jadi berikan 0.

Kod:

Sub Match_Example1 () Range ("D2"). Value = Application.WorksheetFunction.Match (Range ("C2"). Value, Range ("A2: A6"), 0) End Sub

Ok, kita sudah selesai dengan formula.

Jalankan kod melalui kunci F5 dan lihat apa yang kami dapat.

Oleh itu, kita telah mendapat hasilnya sebagai 3 kerana nilai "Mar" adalah di tempat 3 rd kedudukan dalam A2 julat untuk A6.

Fungsi MATCH ini dapat memberikan kedudukan nilai carian. Walau bagaimanapun, fungsi MATCH banyak digunakan dengan fungsi VLOOKUP untuk membekalkan nombor indeks lajur berdasarkan tajuk lajur.

Contoh # 2

Sekarang kita akan melihat bagaimana menggunakan MATCH sebagai fungsi sokongan untuk fungsi VLOOKUP.

Lihat data di bawah.

Dalam jadual di atas, kita melihat penjualan bulan "Februari" tahun 2018, jadi kita perlu menggunakan fungsi VLOOKUP. VLOOKUP juga merupakan fungsi lembaran kerja, jadi akses seperti ini bagaimana kita telah mengakses fungsi MATCH.

Nilai Pencarian akan menjadi sel G2, jadi berikan alamat sel.

Kod:

Sub Match_Example2() Range("H2").Value = Application.WorksheetFunction.VLookup(Range("G2").Value, End Sub

Table Array will be from A2 to D6.

Code:

Sub Match_Example2() Range("H2").Value = Application.WorksheetFunction.VLookup(Range("G2").Value,Range("A2:D6"), End Sub

Now we need to provide from which column of the table array we are looking for the result, so this will be from the 3rd column. Instead of supplying the column number as 3, let’s use the MATCH function.

Code:

Sub Match_Example2() Range("H2").Value = Application.WorksheetFunction.VLookup(Range("G2").Value, Range("A2:D6"), Application.WorksheetFunction.Match(Range("H1").Value, Range("A1:D1"), 0), 0) End Sub

Jadi fungsi MATCH memberikan nombor lajur dari julat A1 hingga D1 untuk bulan "Februari". Mari jalankan kod dan lihat bagaimana ia mendapat nombor lajur secara automatik.

Ini dia, kami mendapat hasil dari lajur nombor 2 berkat bekalan nombor lajur automatik dari fungsi MATCH.

Perkara yang Perlu Diingat

  • Fungsi MATCH mencari kedudukan nilai carian dalam jadual array yang dipilih.
  • Fungsi MATCH terutama digunakan dengan fungsi VLOOKUP untuk membekalkan nombor indeks lajur secara automatik menggunakan tajuk lajur.
  • Fungsi MATCH tersedia sebagai fungsi lembaran kerja di VBA.

Artikel menarik...