VBA Find Next

VBA Find Next

Excel VBA Temukan Berikutnya

Seperti di Excel, saat kita menekan CTRL + F, kotak wizard akan muncul, memungkinkan kita untuk mencari nilai di lembar kerja yang diberikan. Setelah kami menemukan nilainya, kami mengklik “Temukan Berikutnya” untuk menemukan nilai lain yang serupa. Karena ini adalah fitur lembar kerja, kami juga dapat menggunakannya di VBA sebagai metode properti Aplikasi sebagai application.findnext untuk tujuan yang sama.

Menemukan nilai spesifik dalam rentang yang disebutkan boleh saja, tetapi bagaimana jika persyaratannya adalah menemukan nilai dengan banyak kejadian? Di salah satu artikel sebelumnya, kami membahas metode “Temukan” di VBA. Ini tidak rumit, tetapi menemukan semua kejadian berulang hanya dimungkinkan dengan metode “FindNext” di Excel VBA.

Artikel ini akan menunjukkan cara menggunakan “Temukan Selanjutnya” ini di Excel VBA.

Anda bebas menggunakan gambar ini di situs web Anda, templat, dll., Harap berikan kami tautan atribusiBagaimana Memberikan Atribusi? Tautan Artikel menjadi Hyperlink
Misalnya: Sumber: VBA Temukan Selanjutnya (wallstreetmojo.com)

Apa itu Temukan Selanjutnya di Excel VBA?

Seperti kata katanya, “Temukan Selanjutnya” berarti dari sel yang ditemukan, terus mencari nilai berikutnya hingga kembali ke sel asli tempat kami memulai pencarian.

Versi lanjutan dari metode “Temukan” hanya mencari setelah nilai yang disebutkan berada dalam rentang.

Di bawah ini adalah sintaks metode FINDNEXT di Excel VBA.

Setelah: Ini adalah kata yang kita cari.

Contoh Find Next Method di Excel VBA

Di bawah ini adalah contoh menemukan metode selanjutnya di Excel VBA.

Perhatikan data di bawah ini.

Langkah #1 – Dalam data ini, kita perlu mencari nama kota ‘Bangalore.’ Mari kita mulai sub prosedur di editor visual basic Editor Visual Editor Visual Basic for Applications adalah antarmuka scripting. Skrip ini terutama bertanggung jawab atas pembuatan dan eksekusi makro dalam perangkat lunak Microsoft.baca selengkapnya.

Kode:

Sub RentangBerikutnya_Contoh() Akhir Sub

Langkah #2 – Pertama, deklarasikan variabel sebagai objek ‘Range’.

Kode:

Sub RangeNext_Example() Dim Rng Sebagai Range End Sub

Langkah #3 – Tetapkan referensi untuk variabel objek sebagai ‘Range(‘A2: A11’).

Kode:

Sub RangeNext_Example() Dim Rng As Range Set Rng = Range(“A2:A12”) End Sub

Karena data daftar kota kami berada dalam rentang sel dari A2 hingga A11, hanya kami yang akan menelusuri kota “Bangalore”.

Karena kita menyetel referensi rentang ke variabel ‘Rng’, kita menggunakan variabel ini alih-alih menggunakan RANGE(‘A2: A11’) setiap waktu.

Langkah #4 – Gunakan variabel RNG dan buka metode Temukan.

Kode:

Sub RangeNext_Example() Dim Rng As Range Set Rng = Range(“A2:A12”) Rng.Find End Sub

Langkah #5 – Argumen pertama dari metode FIND adalah ‘Apa’, yaitu, apa yang kita coba cari dalam rentang yang disebutkan, jadi nilai yang kita cari adalah ‘Bangalore.’

Kode:

Sub RangeNext_Example() Dim Rng As Range Set Rng = Range(“A2:A12″) Rng.Find What:=”Bangalore” End Sub

Langkah #6 – Untuk menunjukkan di sel mana kita menemukan nilai ini, nyatakan satu variabel lagi sebagai string.

Kode:

Sub RangeNext_Example() Dim Rng As Range Dim CellAdderess As String Set Rng = Range(“A2:A12″) Rng.Find What:=”Bangalore” End Sub

Langkah #7 – Untuk variabel ini, tetapkan alamat sel yang ditemukan.

Kode:

Sub RangeNext_Example() Dim Rng As Range Dim CellAdderess As String Set Rng = Range(“A2:A12″).Find(What:=”Bangalore”) Rng.Find What:=”Bangalore” CellAddress = Rng.Address End Sub

Catatan: RN. Alamat karena RNG akan memiliki referensi untuk sel nilai yang ditemukan.

Langkah # 8 – Sekarang tunjukkan hasil variabel alamat sel yang ditugaskan di kotak pesan di VBA.

Sub RangeNext_Example() Dim Rng As Range Dim CellAdderess As String Set Rng = Range(“A2:A12″).Find(What:=”Bangalore”) Rng.Find What:=”Bangalore” CellAddress = Rng.Address MsgBox CellAddress End Sub

Langkah #9 – Jalankan kode dan lihat apa yang kita dapatkan di sini.

Jadi kami telah menemukan nilai “Bangalore” di sel A5. Namun, kami hanya dapat menemukan satu sel dengan metode Find, jadi alih-alih FIND, kami perlu menggunakan FINDNEXT di Excel VBA.

Langkah #10 – Kita perlu mereferensikan variabel objek jangkauan menggunakan metode FINDNEXT di Excel VBA.

Kode:

Sub RangeNext_Example() Dim Rng As Range Dim CellAdderess As String Set Rng = Range(“A2:A12″).Find(What:=”Bangalore”) Rng.Find What:=”Bangalore” CellAddress = Rng.Address MsgBox CellAddress Set Rng = Range(“A2:A12”).FindNext(Rng) End Sub

Seperti yang Anda lihat di atas, kami telah menggunakan metode VBA FINDNEXT, tetapi di dalam fungsi, kami telah menggunakan nama variabel objek jangkauan.

Langkah #11 – Sekarang lagi, tetapkan alamat sel dan tampilkan alamat di kotak pesan.

Kode:

Sub RangeNext_Example() Dim Rng As Range Dim CellAdderess As String Set Rng = Range(“A2:A12″).Find(What:=”Bangalore”) Rng.Find What:=”Bangalore” CellAddress = Rng.Address MsgBox CellAddress Set Rng = Range(“A2:A12”).FindNext(Rng) CellAddress = Rng.Address MsgBox CellAddress End Sub

Langkah #12 – Jalankan makro dan lihat apa yang kita dapatkan di kotak pesan pertama.

Langkah #13 – Kotak pesan pertama menampilkan nilai “Bangalore” yang ditemukan di sel A5. Klik tombol “OK” untuk melihat nilai yang ditemukan berikutnya.

Nilai kedua yang ditemukan ada di sel A7. Tekan “OK” untuk melanjutkan.

VBA Temukan Selanjutnya (Menggunakan Loop)

Ini akan keluar dari subprosedur VBAVBA SubprosedurSUB di VBA adalah prosedur yang berisi semua kode yang secara otomatis memberikan pernyataan sub akhir dan bagian tengah digunakan untuk pengkodean. Sub pernyataan dapat bersifat publik dan pribadi dan nama subprosedur wajib ada di VBA.baca lebih lanjut, tetapi kami satu lagi dapat ditemukan di sel A10. Saat kami menemukan nilai di lebih dari satu sel, lebih baik menggunakan loop.

Dalam hal ini juga, kami memiliki nilai ‘Bangalore’ di lebih dari satu sel, jadi kami perlu menyertakan loop di sini.

Langkah #14 – Pertama, nyatakan dua variabel sebagai range.

Kode:

Sub RangeNext_Example1() Dim Rng Sebagai Range Dim FindRng Sebagai Range End Sub

Langkah #15 – Tetapkan referensi untuk variabel pertama, seperti yang ditunjukkan di bawah ini.

Kode:

Sub RangeNext_Example1() Dim Rng As Range Dim FindRng As Range Set Rng = Range(“A2:A11″).Find(What:=”Bangalore”) End Sub

Langkah #16 – Tetapkan referensi menggunakan FIND VBA functionFIND VBA FunctionVBA Find memberikan argumen yang sama persis. Dibutuhkan tiga argumen, satu adalah apa yang harus ditemukan, di mana menemukan, dan ke mana harus melihat. Jika ada parameter yang hilang, dibutuhkan nilai yang ada sebagai parameter tersebut. Baca lebih lanjut untuk variabel kedua.

Sub RangeNext_Example1() Dim Rng As Range Dim FindRng As Range Set Rng = Range(“A2:A11″).Find(What:=”Bangalore”) Set FindRng = Rng.FindNext(“Bangalore”) End Sub

Langkah #17 – Sebelum kita mulai mencari nilainya, kita perlu mengidentifikasi dari sel mana kita memulai pencarian, yang mendeklarasikan variabel sebagai string.

Kode:

Sub RangeNext_Example1() Dim Rng As Range Dim FindRng As Range Set Rng = Range(“A2:A11″).Find(What:=”Bangalore”) Setel FindRng = Rng.FindNext(“Bangalore”) Redupkan FirstCell Sebagai String FirstCell = Rng.Address Akhir Sub

Langkah #18 – Untuk variabel ini, tetapkan alamat sel pertama.

Kode:

Sub RangeNext_Example1() Dim Rng As Range Dim FindRng As Range Set Rng = Range(“A2:A11″) Set FindRng = Rng.Find(What:=”Bangalore”) Dim FirstCell As String FirstCell = Rng.Address End Sub

Langkah #19 – Kita perlu menyertakan loop “Do While” untuk mengulang semua sel dan menemukan nilai pencarian.

Kode:

Sub RangeNext_Example1() Dim Rng As Range Dim FindRng As Range Set Rng = Range(“A2:A11″).Find(What:=”Bangalore”) Setel FindRng = Rng.FindNext(“Bangalore”) Redupkan FirstCell Sebagai String FirstCell = Rng.Address Lakukan Loop While FirstCell <> Cell.Address End Sub

Di dalam loop, sebutkan kotak pesan dan metode VBA FINDNEXT.

Langkah #20 – Di bawah ini adalah kode lengkap untuk Anda.

Kode:

Sub FindNext_Example() Dim FindValue As String FindValue = “Bangalore” Dim Rng As Range Set Rng = Range(“A2:A11”) Redupkan FindRng As Range Set FindRng = Rng.Find(What:=FindValue) Redupkan FirstCell As String FirstCell = FindRng.Address Lakukan MsgBox FindRng.Address Set FindRng = Rng.FindNext(FindRng) Loop While FirstCell <> FindRng.Address MsgBox “Search is over” End Sub

Langkah # 21 – Ini akan terus menampilkan semua alamat sel yang cocok, dan pada akhirnya, itu akan menampilkan pesan “Search is Over” di kotak pesan baru.

Hal-hal untuk diingat

  • Metode FIND hanya dapat menemukan satu nilai pada satu waktu.
  • Metode FINDNEXT di Excel VBA dapat menemukan nilai selanjutnya dari sel nilai yang sudah ditemukan.
  • Kita harus menggunakan loop Do While untuk mengulang semua sel dalam rentang.

Artikel yang Direkomendasikan

Artikel ini telah menjadi panduan untuk VBA FINDNEXT. Di sini, kami membahas cara menemukan nilai spesifik menggunakan fungsi Excel VBA FindNext, beserta contohnya. Anda dapat mempelajari lebih lanjut tentang fungsi VBA dari artikel berikut: –

  • Untuk Loop Berikutnya di VBA
  • Objek Daftar VBA
  • CDEC di VBA
  • Formulir Pengguna Login VBA

Related Posts

Tinggalkan Balasan