Pembaca seperti Anda membantu mendukung MUO. Saat Anda melakukan pembelian menggunakan tautan di situs kami, kami dapat memperoleh komisi afiliasi. Baca selengkapnya.

Vlookup adalah fungsi penting dalam Excel dan telah menjadi bagian penting dari pemrosesan data. Ini menyediakan beberapa fungsi yang biasanya Anda kaitkan dengan database lengkap.

Tetapi bagaimana jika Anda ingin mengotomatiskan fungsi ini? Ya, itu mungkin, terutama jika Anda tahu cara menggunakan bahasa otomasi asli Excel, VBA. Inilah cara Anda mengotomatiskan fungsi vlookup di Excel VBA.

Sintaks Vlookup

Sintaks fungsi vlookup cukup sederhana, tetapi memiliki empat aspek yang harus Anda fokuskan, bahkan saat mengotomatiskannya di Excel VBA.

=vlookup (nilai_lookup, lookup_array, indeks_kolom, pencocokan_tepat/pencocokan_parsial)

Argumen fungsi memiliki arti sebagai berikut:

  • nilai lookup: Ini adalah nilai utama yang ingin Anda cari dari larik pencarian.
  • lookup_array: Ini adalah data sumber, yang akan digunakan oleh lookup_value sebagai referensi.
  • indeks_kolom: Kolom untuk mengembalikan nilai dari.
  • pencocokan_persis/pencocokan_parsial: Gunakan 0 atau 1 untuk menentukan jenis pencocokan.

Persiapan data

Kumpulan data ini memiliki dua bagian: tabel pencarian, dan titik data tujuan.

Tabel pencarian terdiri dari tiga kolom, dengan data mengisi bidang Sub-Kategori dan Nama Produk:

Tabel tujuan memiliki kolom yang cocok, tanpa data subkategori atau nama produk. Perhatikan bahwa nilai di kolom ID Pesanannya juga ada di kolom yang sama di tabel pencarian:

Menggunakan Vlookup Secara Langsung di Excel Spreadsheet

Untuk mengisi kolom tujuan, B dan C, bisa gunakan fungsi vlookup Excel.

Di dalam sel B2, masukkan rumus berikut:

=VLOOKUP($A2, $F$3:$H$17, 2, 0)

Begitu pula di sel C2, masukkan rumus ini:

=VLOOKUP($A2, $F$3:$H$17, 3, 0)

Anda dapat menyeret rumus ke bawah dari sel B2 hingga akhir kolom, B17. Ulangi proses ini untuk kolom C juga. Nilai untuk setiap entri berikutnya akan diperbarui secara otomatis di kedua kolom.

Nilai yang Anda berikan ke fungsi vlookup adalah:

  • A2: Nilai pencarian ada di sel ini.
  • F3:H17: Ini terdiri dari rentang pencarian.
  • 2/3: Kolom referensi untuk mengambil nilai.
  • 0: Menunjukkan pencocokan persis.

Fungsi Vlookup Excel VBA

Fungsi vlookup memiliki banyak kesamaan, baik Anda menggunakannya langsung di Excel atau melalui VBA. Baik Anda seorang analis data yang berurusan dengan deretan data, atau manajer inventaris yang berurusan dengan produk baru secara rutin, Anda bisa mendapatkan keuntungan dengan menggunakan vlookup.

Saat bekerja dengan rentang pencarian dinamis, sebaiknya selalu otomatiskan rumus Anda, untuk menghindari penerapan rumus berulang kali dalam Excel. Dengan mengotomatiskan fungsi Vlookup Anda di VBA, Anda dapat melakukan perhitungan multi-kolom dengan sekali klik.

1. Lakukan Pengaturan yang Diperlukan

Mulailah dengan membuka editor pengkodean (tekan Alt + F11 atau arahkan ke Pengembang tab) di buku kerja Excel baru dan tambahkan modul untuk mulai menulis kode Anda. Di dalam editor kode, tambahkan baris berikut di bagian atas jendela pengkodean untuk membuat subrutin:

 Sub vlookup_fn1()Akhir Sub

Subrutin adalah wadah untuk kode VBA Anda dan sangat penting untuk menjalankannya dengan sukses. Alternatifnya adalah buat formulir pengguna VBA untuk membuat UI Anda lebih interaktif.

2. Deklarasikan Variabel Anda dan Buat Rentang Referensi Anda

Pertama, Anda perlu mendeklarasikan tipe data variabel menggunakan Redup penyataan:

 Dim i sebagai bilangan bulat, lastrow selama

Selanjutnya, buat a baris terakhir variabel, untuk menyimpan nilai baris yang terakhir diisi dalam rentang pencarian Anda. Fungsi lastrow menggunakan the akhir (xl ke bawah) berfungsi untuk menghitung referensi baris akhir dalam rentang yang ditentukan.

Dalam hal ini, variabel baris terakhir menyimpan nilai baris terakhir yang diisi rentang pencarian,17.

 lastrow = Sheets("Sheet2").Range("F3").End (xlDown).Row

Dalam contoh di atas, tabel tujuan memanjang dari A2:C17, sedangkan tabel sumber memanjang dari F2:H17. Rumus vlookup akan mengulangi setiap nilai yang disimpan dalam kolom A, mencarinya di dalam tabel sumber, dan menempelkan entri yang cocok di kolom B dan C.

Namun, sebelum melompat ke loop, Anda harus menyimpan nilai rentang dalam variabel baru (my_range), sebagai berikut:

 my_range = Sheets("Sheet2").Range("F3:H" & baris terakhir)

Anda harus secara eksplisit menentukan referensi sel awal (F3) dan referensi kolom akhir (H). VBA secara otomatis menambahkan nilai baris untuk melengkapi larik pencarian.

3. Tulis Loop ke Siklus Melalui Setiap Nilai Pencarian

Sebelum menulis loop, tentukan nilai baris awal, 2. Menentukan nilai awal untuk loop Anda sangat penting karena Anda berurusan dengan elemen dinamis. Di tabel tujuan, baris 2 adalah baris pertama dari data. Ubah nilai ini jika data Anda dimulai di baris yang berbeda.

 saya = 2

Anda dapat menggunakan a lakukan-sementara loop untuk memproses setiap baris, mulai dari baris 2 dan berakhir di baris 17. Seperti kode lainnya, aspek ini dinamis; loop akan berjalan sampai kondisi salah. Gunakan kondisi untuk memeriksa nilai yang tidak kosong di sel pertama baris saat ini.

 Do While len (Sheets("Sheet2").Cells (i, 1).value) <> 0

Di dalam loop, Anda dapat memanggil fungsi VLookup untuk mengisi sel:

 Sheets("Sheet2").Cells (i, 2).Nilai = _ Aplikasi. WorksheetFunction. VLookup (Sheets("Sheet2") _ .Cells (i, 1).Value, my_range, 2, False) Sheets("Sheet2").Cells (i, 3).Value = _ Application. WorksheetFunction. VLookup (Sheets("Sheet2") _ .Cells (i, 1).Value, my_range, 3, False)

Pernyataan ini menetapkan nilai sel di baris saat ini, masing-masing di kolom 2 dan 3. Mereka menggunakan WorksheetFunction keberatan untuk memanggil VLookup fungsi, meneruskan nilai yang sesuai dari kolom 1 ke penelusuran. Mereka juga melewati rentang yang Anda tentukan sebelumnya dan indeks kolom yang relevan untuk mengambil nilai akhir.

Kode vlookup sudah siap, tetapi Anda masih perlu menambah variabel baris setiap kali mengulang:

 saya = saya + 1

Setiap kali loop berjalan, itu meningkatkan nilai Saya oleh 1. Ingat, nilai baris awal adalah 2, dan kenaikan terjadi setiap kali loop berjalan. Menggunakan lingkaran kata kunci untuk mengatur akhir dari blok kode loop.

Saat Anda menjalankan seluruh kode, hasil akan dipopulasikan di kedua kolom, berdasarkan nilai di tabel sumber.

Inilah seluruh kode untuk referensi:

 Sub vlookup_fn1() Dim i As Integer lastrow = Sheets("Sheet2").Range("F3").End (xlDown).Row my_range = Sheets("Sheet2").Range("F3:H" & lastrow) i = 2 Do While Len (Sheets("Sheet2").Cells (i, 1).Value) <> 0 On Error Resume Next Sheets("Sheet2").Cells (i, 2).Value = _ Aplikasi. WorksheetFunction. VLookup (Sheets("Sheet2") _ .Cells (i, 1).Value, my_range, 2, False) Sheets("Sheet2").Cells (i, 3).Value = _ Application. WorksheetFunction. VLookup (Sheets("Sheet2") _ .Cells (i, 1).Value, my_range, 3, False) i = i + 1 LoopEnd Sub

4. Buat Tombol untuk Menjalankan Kode

Dengan menyisihkan kode, Anda dapat membuat tombol di buku kerja Excel untuk menjalankannya dengan satu klik. Sisipkan bentuk pilihan Anda pada lembar Excel kosong, klik kanan padanya, dan klik pada Tetapkan Makro pilihan.

Di dalam kotak dialog, pilih nama sub-rutin Anda, dan klik OKE.

Saat Anda ingin menjalankan kode Anda, klik tombol untuk melihat bagaimana data terisi dengan segera.

Menggunakan Excel VBA untuk Mengotomatiskan Fungsi Pencarian

Excel VBA adalah bahasa yang fleksibel, yang disesuaikan dengan baik untuk mempermudah otomatisasi dalam berbagai aspek MS Excel. Banyak opsi ada di MS Excel VBA, mulai dari mengotomatiskan fungsi Excel hingga membuat tabel pivot yang rumit secara otomatis.

Saat bekerja dengan segmen Excel yang berbeda, Anda dapat bereksperimen dengan berbagai opsi untuk membuat hidup Anda lebih mudah dan lebih efisien.