Vba: cara menggunakan pencocokan indeks
Anda dapat menggunakan sintaks dasar berikut untuk melakukan INDEX MATCH di VBA:
SubIndexMatch ()
Dim i As Integer
' Perform index match
For i = 2 To 11
Cells(i, 5).Value = WorksheetFunction.Index(Range(" A2:A11 "), _
WorksheetFunction.Match(Cells(i, 4).Value, Range(" B2:B11 "), 0))
Next i
End Sub
Contoh khusus ini mencari nilai dalam sel 2 hingga 11 kolom keempat lembar kerja dalam rentang B2:B11 , lalu mengembalikan nilai terkait dalam rentang A2:A11 di kolom kelima lembar kerja.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Lakukan INDEX MATCH menggunakan VBA
Misalkan kita memiliki kumpulan data berikut di Excel yang berisi informasi tentang pemain bola basket:
Untuk setiap pemain di kolom D, misalkan kita ingin mencari nama timnya di kolom A, maka tuliskan nama tim di kolom E.
Kita dapat membuat makro berikut untuk melakukan ini:
SubIndexMatch ()
Dim i As Integer
' Perform index match
For i = 2 To 11
Cells(i, 5).Value = WorksheetFunction.Index(Range(" A2:A11 "), _
WorksheetFunction.Match(Cells(i, 4).Value, Range(" B2:B11 "), 0))
Next i
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Perhatikan bahwa makro ini dapat mencari nama setiap pemain dan kemudian mengembalikan nama tim terkait di kolom E.
Perhatikan bahwa dalam perulangan For, sintaks Cells(i,5).value menetapkan bahwa kita ingin nama tim dikembalikan di kolom kelima spreadsheet, yaitu kolom E.
Jika kita mengubah sintaks ini menjadi Cells(i,6).value maka nama tim akan dikembalikan di kolom keenam spreadsheet:
SubIndexMatch ()
Dim i As Integer
' Perform index match
For i = 2 To 11
Cells(i, 6).Value = WorksheetFunction.Index(Range(" A2:A11 "), _
WorksheetFunction.Match(Cells(i, 4).Value, Range(" B2:B11 "), 0))
Next i
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Perhatikan bahwa nama tim kini dikembalikan ke kolom keenam spreadsheet (kolom F).
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:
VBA: cara memeriksa apakah suatu string berisi string lain
VBA: Cara menghitung jumlah baris dalam jangkauan
VBA: Cara menulis fungsi COUNTIF dan COUNTIFS