Daftar Isi
Di MS Excel, kita sering kali perlu mencari atau menemukan nilai dalam dataset. Ini bisa menemukan data di baris atau kolom. Untungnya, Excel menyediakan berbagai fungsi dan rumus untuk melakukan tugas-tugas semacam ini. Dengan bantuan kode Excel VBA, kita dapat mengotomatiskan tugas mencari atau menemukan nilai ini. Pada artikel ini, kita akan melihat berbagai cara untuk menemukan nilai dalam kolom di Excel VBA.
Unduh Buku Kerja Praktik
Temukan Nilai di Kolom.xlsm6 Contoh VBA untuk Menemukan Nilai dalam Kolom di Excel
Mari kita memiliki dataset informasi produk dengan ID Produk , Merek , Model , Harga Satuan dan ID Pesanan Tugas kita adalah untuk mengetahui kecocokan ID Pesanan Sekarang tugas kita adalah mencari tahu ID Pesanan terkait dengan ID Produk .
1. Temukan Nilai dalam Kolom Menggunakan Fungsi VBA Find
Pada contoh pertama, kita akan menggunakan Temukan fungsi dalam VBA untuk menemukan nilai dalam kolom.
📌 Langkah-langkah:
- Buka nama sheet di bagian bawah sheet.
- Tekan tombol kanan mouse.
- Pilih Lihat Kode opsi dari daftar.
- Jendela VBA terbuka. Kemudian pilih Modul dari Sisipkan opsi
- Sekarang tulis kode berikut ini di konsol VBA
Sub Find_Value() Dim ProductID As Range Range("D4").ClearContents Set ProductID = Range("B8:B19").Find(What:=Range("C4").Value, _ LookIn:=xlValues, LookAt:=xlWhole) If Not ProductID Is Nothing Then Range("E5").Value = ProductID.Offset(, 4).Value Else MsgBox "Tidak Ditemukan Data yang Cocok !!" End If End Sub
- Sekarang Sisipkan tombol di dataset.
- Pergi ke Pengembang tab.
- Pilih Tombol ( Kontrol Formulir ) dari Sisipkan bagian.
- Berikan nama tombol apa saja. Seperti saya memberikannya sebagai Pencarian .
- Tetapkan kode ke tombol ini.
- Pilih tombol dan tekan tombol kanan mouse.
- Pilih Tetapkan Makro dari daftar.
- Pilih makro yang diinginkan dari menu Tetapkan Makro jendela.
- Kemudian, tekan OK .
- Sekarang tuliskan ID Produk dan klik pada Pencarian tombol.
Kita bisa melihat Tidak ada kecocokan yang ditampilkan, karena nomor produk ini tidak ada dalam daftar.
- Letakkan yang lain ID Produk dan sekali lagi tekan tombol Pencarian tombol.
Kita mendapatkan nomor pesanan untuk ID Produk .
Baca selengkapnya: Cara Mendapatkan Nilai Sel menurut Baris dan Kolom di Excel VBA
2. VBA untuk Menemukan Nilai dari Lembar Kerja yang Berbeda
Sekarang di bagian ini, kita akan melakukan hal yang sama di atas tetapi untuk lembar kerja yang berbeda. Mari kita asumsikan bahwa informasi produk kita ada di Lembar 2 , dan kotak pencarian ada di Lembar 3 Sekarang kita akan menulis kode VBA sehingga kita bisa mencari Order ID menggunakan Product ID dari Lembar 3 .
Lembar 2:
Sheet3:
📌 Langkah-langkah:
- Ikuti langkah-langkah yang sama dari langkah 1 untuk langkah 2 dari metode sebelumnya untuk membuka konsol VBA
- Sekarang tulis kode berikut ini di konsol VBA
Sub Cari_Nilai_dari_lembar_kerja() Dim rng As Range Dim ProductID As String Dim rownumber As Long ProductID = Sheet3.Cells(4, 3) Set rng = Sheet2.Columns("B:B").Find(What:=ProductID, _ LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) rownumber = rng.Row Sheet3.Cells(5, 5).Value = Sheet2.Cells(rownumber, 6).Value End Sub
- Sekarang sisipkan lagi tombol seperti yang sebelumnya.
- Kemudian tetapkan kode makro ke tombol.
- Masukkan apa saja ID Produk dan klik pada Jalankan tombol
Baca selengkapnya: Nilai Pencarian di Kolom dan Nilai Pengembalian Kolom Lain di Excel
3. Temukan dan Tandai Nilai di Kolom
Mari kita lihat bagaimana kita bisa mengetahui nilai dari sebuah kolom dengan menandainya. Untuk ini, mari kita asumsikan dataset yang sama di atas dengan kolom tambahan bernama Status Pengiriman Sekarang tugas kita adalah menandai nilai-nilai di dalam Status Pengiriman kolom yang Tertunda .
📌 Langkah-langkah:
- Ikuti langkah yang sama dari langkah 1 untuk langkah 2 seperti metode sebelumnya untuk membuka konsol VBA
- Sekarang tulis kode berikut ini di konsol VBA
Sub Find_and_Mark() Dim strAddress_First As String Dim rngFind_Value As Range Dim rngSrch As Range Dim rng_Find As Range Set rng_Find = ActiveSheet.Range("G1:G16") Set rngSrch = rng_Find.Cells(rng_Find.Cells.Count) Set rngFind_Value = rng_Find.Find("Pending", rngSrch, xlValues) If Not rngFind_Value Is Nothing Then strAddress_First = rngFind_Value.Address rngFind_Value.Font.Color = vbRed Do SetrngFind_Value = rng_Find.FindNext(rngFind_Value) rngFind_Value.Font.Color = vbRed Loop Until rngFind_Value.Address = strAddress_First End If End Sub
- Sekarang buka lembar kerja dan jalankan kodenya.
- Lihat output dalam tabel.
Baca selengkapnya: Cara Menemukan Nilai Tertinggi di Kolom Excel (4 Metode)
4. VBA untuk Menemukan Nilai dalam Kolom Menggunakan Wildcard
Terakhir, kita akan melihat bagaimana kita dapat mencari atau menemukan nilai dalam kolom menggunakan karakter wildcard di Excel VBA. Sekali lagi, kita akan menggunakan dataset yang sama di atas untuk metode ini. Tugas kita adalah mencari tahu harga produk menggunakan Model mereka. Kita bisa mengetikkan nama lengkap atau karakter terakhir / pertama dari ID Produk .
📌 Langkah-langkah:
- Ikuti langkah yang sama dari langkah 1 untuk langkah 2 seperti metode sebelumnya untuk membuka konsol VBA
- Sekarang tulis kode berikut ini di konsol VBA
Sub Cari_Menggunakan_Wildcard() Set myerange = Range("B5:G16") Set ID = Range("D19") Set Harga = Range("F20") Harga.Value = Application.WorksheetFunction.VLookup _ ("*" & Range("D19") & "*", myerange, 4, False) End Sub
- Sekali lagi, sisipkan tombol seperti yang sebelumnya.
- Sekarang tetapkan kode makro ke tombol.
- Sekarang masukkan sebagian ID Produk dan tekan tombol Jalankan tombol.
Baca selengkapnya: Cara Menemukan Nilai Terendah di Kolom Excel (6 Cara)
5. Excel VBA untuk Menemukan Nilai Maksimum dalam Kolom
Di sini, kami ingin mencari nilai maksimum kolom menggunakan kode VBA.
📌 Langkah-langkah:
- Kami ingin mengetahui harga maksimum.
- Sekarang, letakkan kode VBA berikut pada modul baru.
Sub Column_Max() Dim range_1 As Range Set range_1 = Application.InputBox(prompt:="Select Range", Type:=8) Max_Column = WorksheetFunction.Max(range_1) MsgBox Max_Column End Sub
- Kemudian, tekan tombol F5 untuk menjalankan kode VBA.
- The Masukan kotak dialog muncul.
- Pilih kisaran dari dataset.
- Terakhir, tekan tombol OK tombol.
Kita bisa melihat nilai maksimum ditampilkan dalam kotak dialog.
6. Excel VBA untuk Menemukan Nilai Terakhir dalam Kolom
Di sini, kita ingin mengetahui nilai baris atau sel terakhir dari kolom tertentu. Misalnya, kita ingin mengetahui produk terakhir dari kolom Produk
📌 Langkah-langkah:
- Masukkan VBA kode di bawah ini pada modul.
Sub last_value() Dim L_Row As Long L_Row = Cells(Rows.Count, "B").End(xlUp).Row MsgBox Cells(L_Row, 2).Value End Sub
- Kemudian, jalankan kode dengan menekan tombol F5 tombol.
Nilai terakhir ditampilkan dalam kotak dialog.
Baca selengkapnya: Cara Menemukan Kemunculan Terakhir Nilai dalam Kolom di Excel (5 Metode)
Hal-hal yang Perlu Diingat
Beberapa Kesalahan Umum:
- Kesalahan: Satu Nilai pada Satu Waktu. Karena FIND hanya bisa menemukan satu nilai pada satu waktu.
- Kesalahan: #NA di VLOOKUP Jika nilai yang dicari tidak ada dalam dataset yang diberikan, maka fungsi ini akan mengembalikan ini #NA kesalahan.
- Range ("Cell_Number").ClearContents digunakan untuk menghapus nilai sebelumnya dari sel. Jika tidak, nilai sebelumnya perlu dihapus secara manual.
Kesimpulan
Ini adalah beberapa cara untuk menemukan nilai dalam kolom menggunakan kode VBA di Excel. Saya telah menunjukkan semua metode dengan contohnya masing-masing, tetapi mungkin ada banyak iterasi lainnya. Saya juga telah membahas dasar-dasar fungsi yang digunakan. Jika Anda memiliki metode lain untuk mencapai hal ini, jangan ragu untuk membagikannya dengan kami. Kunjungi situs web kami ExcelWIKI untuk artikel menarik lainnya tentang Excel.