VBA Application.Match - Panduan Langkah demi Langkah dengan Contoh

Aplikasi Excel VBA. Cocokkan

Salah satu hal terbaik tentang VBA adalah ia memiliki fungsinya sendiri dan juga memungkinkan kita untuk mengakses semua fungsi lembar kerja di bawah kelas "Fungsi Lembar Kerja". Anda pasti sudah menggunakan fungsi MATCH sebagai fungsi lembar kerja, tetapi ini bukan fungsi VBA, jadi kita perlu mengakses di bawah kelas fungsi lembar kerja. Pada artikel ini, kami akan menunjukkan kepada Anda cara menggunakan fungsi MATCH di VBA menggunakan metode Aplikasi.

Rekap Cepat Fungsi MATCH

MATCH adalah fungsi pencarian yang mencari posisi nilai pencarian dalam array pencarian yang disebutkan. Misalnya, lihat gambar di bawah ini dari data.

Pada data di atas, kita memiliki bulan dari A2 ke A6, dan jika kita ingin tahu di tempat mana bulan “Mar” terjadi, maka kita bisa menggunakan fungsi MATCH.

Di bawah ini adalah sintaks dari fungsi MATCH.

MATCH (Nilai Pencarian, Array Pencarian, (Jenis Pencocokan))
  • Nilai Pencarian: Untuk nilai mana kita mencari posisi dalam array pencarian.
  • Lookup Array: Di array mana kita mencari posisi nilai pencarian.
  • (Jenis Pencocokan): Untuk ini, kami dapat memberikan tiga argumen.
  1. 1 = Kurang Dari
  2. 0 = Sama Persis
  3. -1 = Lebih Dari

Sebagian besar waktu, kami hanya menggunakan "0 Pencocokan Tepat".

Bagaimana Cara Menggunakan Fungsi Application.Match di VBA?

Contoh 1

Lihatlah data di bawah ini di excel.

Dari data di atas, kita perlu mencari posisi bulan “Mar” di kisaran sel dari A2 hingga A6. Karena kita membutuhkan hasil dalam sel D2 segera mulai kode sebagai Range ("D2") Nilai =.

Untuk mendapatkan nilai di sel D2, kita perlu menggunakan fungsi worksheet MATCH, jadi untuk mengaksesnya terlebih dahulu, kita perlu mengakses objek APPLICATION dan kemudian objek WORKSHEET FUNCTION.

Masukkan titik untuk melihat daftar fungsi lembar kerja.

Pilih "Cocok" dari daftar.

Salah satu masalah di VBA saat menggunakan fungsi lembar kerja adalah kami tidak melihat sintaks yang tepat seperti yang kami lihat dengan fungsi lembar kerja. Inilah salah satu alasan kami menjelaskan sintaks di awal saja.

Jadi, argumen pertama adalah nilai pencarian, yaitu nilai yang kita cari untuk menemukan tempatnya. Dalam kasus ini, kami mencari tempat untuk "Mar" yang ada di sel C2, jadi berikan referensi sel.

Argumen berikutnya adalah array pencarian, yaitu di kisaran mana kita mencari posisi nilai pencarian , untuk sel suplai ini dari A2 hingga A6.

Argumen terakhir akan sama persis, jadi berikan 0.

Kode:

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

Oke, kita selesai dengan rumusnya.

Jalankan kode melalui tombol F5 dan lihat apa yang kita dapatkan.

Jadi kita sudah mendapat hasil sebagai 3 karena nilai “Mar” adalah di tempat 3 rd posisi di kisaran A2 ke A6.

Fungsi MATCH ini dapat memberikan posisi nilai pencarian. Namun, fungsi MATCH sebagian besar digunakan dengan fungsi VLOOKUP untuk menyediakan nomor indeks kolom berdasarkan header kolom.

Contoh # 2

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

Lihat data di bawah ini.

Pada tabel di atas, kita melihat penjualan bulan "Feb" 2018, jadi kita perlu menggunakan fungsi VLOOKUP. VLOOKUP juga merupakan fungsi lembar kerja, jadi akses ini seperti cara kita mengakses fungsi MATCH.

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

Kode:

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 menyediakan nomor kolom dari rentang A1 hingga D1 untuk bulan “Feb”. Mari kita jalankan kode dan lihat bagaimana ia mendapatkan nomor kolom secara otomatis.

Ini dia hasil dari kolom nomor 2 berkat suplai nomor kolom otomatis dari fungsi MATCH.

Hal-hal untuk diingat

  • Fungsi MATCH mencari posisi nilai pencarian dalam tabel array yang dipilih.
  • Fungsi MATCH terutama digunakan dengan fungsi VLOOKUP untuk menyediakan nomor indeks kolom secara otomatis menggunakan judul kolom.
  • Fungsi MATCH tersedia sebagai fungsi lembar kerja di VBA.

Artikel yang menarik...