VBA InStr - 5 Contoh Teratas untuk menggunakan Fungsi InStr VBA Excel

Fungsi InStr VBA Excel

Instr di VBA digunakan untuk mengetahui posisi substring yang diberikan dalam sebuah string setelah kita menentukan metode perbandingan untuk fungsi tersebut, ada empat metode perbandingan yang berbeda untuk fungsi ini, Instr adalah fungsi string tetapi output yang dikembalikan oleh fungsinya adalah numerik jadi output fungsi ini dalam variabel integer.

String di VBA tidak lain adalah serangkaian karakter, yaitu semua teks yang dilengkapi dengan tanda kutip ganda diperlakukan sebagai string. Fungsi InStr adalah fungsi teks bawaan yang digunakan untuk memanipulasi String. Misalnya - Jika Anda ingin mengekstrak substring dari kalimat atau jika Anda ingin menerapkan perubahan desain font ke string tertentu dalam rangkaian karakter, atau jika Anda ingin menemukan posisi karakter dan banyak kemungkinan lainnya, Anda bisa gunakan InStr.

Sintaksis

Ini memiliki 4 argumen, seperti yang ditunjukkan pada gambar di bawah ini.

  • (Mulai): Ini tidak wajib. Ini adalah nilai numerik yang perlu kita tentukan dari posisi string fungsi Instr mulai mencari teks yang disediakan. Sebagai contoh: jika Anda ingin mencari karakter “a” dalam kata “Bangalore” dari 3 rd posisi, kita perlu untuk memberitahu fungsi Instr posisi awal sebagai 3. Jadi dari 3 rd posisi, karakter “a” adalah di posisi ke- 5 . Jika Anda mengabaikan parameter ini, nilai defaultnya adalah 1.
  • String 1: Ini adalah string aktual yang kami sediakan, yaitu dari teks ini, kami mencoba mencari substring. Misalnya, jika Anda mencari string "a" di "Bangalore", String 1 di Bangalore.
  • String 2: Ini tidak lain adalah string yang kita cari. Misalnya, jika Anda mencari string “a” dalam “Bangalore,” String 2 adalah sebuah .
  • (Bandingkan): Ini lagi-lagi merupakan argumen opsional. Ada tiga jenis opsi yang tersedia di argumen (bandingkan).
  • vbBinaryCompare: Ini hanyalah pencarian peka huruf besar kecil dari substring (string 2) di String 1. Misalnya, jika kita mencari "a" dalam kata "Bangalore," Instr akan mengembalikan 2 sebagai hasilnya, dan jika Anda mencari "A" dalam kata "Bangalore", Instr akan mengembalikan 0 sebagai hasil karena string yang diberikan adalah nilai huruf besar.

Kita juga bisa meletakkan nol (0) sebagai argumen.

vbTextCompare: Ini bukan penelusuran case sensitive dari string 2 dalam string 1. Misalnya, jika kita mencari "a" dalam kata "Bangalore", Instr akan mengembalikan 2 sebagai hasilnya, dan jika Anda mencari " A ” dalam kata “ Bangalore, ” Instr akan menghasilkan 2 juga. Logikanya adalah A = a, B = b, C = c dll….

Kami juga dapat menempatkan satu (1) sebagai argumen.

vbDatabaseCompare: Ini digunakan untuk membandingkan informasi dari database Anda, misalnya database Microsoft Access.

Kami juga dapat menempatkan satu (-1) sebagai argumen.

5 Contoh Teratas menggunakan Fungsi Instr VBA

Contoh 1

Mari kita mulai dengan contoh pertama. Dalam kata Bangalore, temukan posisi karakter a.

Kode di bawah ini akan melakukan tugas untuk kita.

Kode:

Sub Instr_Contoh1 () Dim i Sebagai Varian i = InStr ("Bangalore", "a") MsgBox i End Sub

Sekarang jalankan kode VBA yang diberikan di atas menggunakan Tombol F5, atau Anda juga dapat menjalankan kode ini secara manual, seperti yang ditunjukkan pada tangkapan layar yang diberikan di bawah ini.

Keluaran:

Contoh # 2

Sekarang di kata Bangalore, cari posisi karakter "a" dari posisi ketiga.

Kode di bawah ini akan melakukan tugas untuk kita.

Kode:

Sub Instr_Contoh2 () Dim i Sebagai Varian i = InStr (3, "Bangalore", "a") MsgBox i End Sub

Untuk menjalankan kode yang diberikan di atas, Anda dapat menggunakan tombol F5, atau Anda juga dapat menjalankan kode ini secara manual, seperti yang ditunjukkan pada gambar di bawah ini.

Keluaran:

Sekarang pada gambar di atas, lihat perbedaan dari kode sebelumnya. Karena kita telah disebutkan posisi awal dari karakter sebagai 3, itu mengabaikan karakter pertama “a” di 2 nd posisi.

Contoh # 3

Sekarang kita akan melihat pencarian case sensitive. Dalam kata Bangalore, temukan huruf "A."

Untuk ini, kita perlu menyediakan argumen bandingkan sebagai vbBinaryCompare.

Kode:

Sub Instr_Example3 () Dim i As Variant i = InStr (1, "Bangalore", "A", vbBinaryCompare) MsgBox i End Sub

Sekarang jalankan kode ini menggunakan Tombol F5, atau Anda juga dapat menjalankan kode ini secara manual.

Keluaran:

Since we have supplied the compare argument as vbBinaryCompare Instr function returned the result as zero because there are no uppercase letter “A” exists.

Example #4

Now we will see one more case sensitive search. In the word Bangalore, find the letter “A.” The previous example returned the result as zero.

In order to overcome the case sensitive approach here, we need to supply the compare argument as vbTextCompare.

Code:

Sub Instr_Example4() Dim i As Variant i = InStr(1, "Bangalore", "A", vbTextCompare) MsgBox i End Sub

Now Run, this code using the F5 Key, or you can also run this code manually.

Output:

Example #5

Now we will see the advanced level of Instr function. If you have many sheets that have a more or less similar name and you want to hide all those sheets at once, we can use the below code to hide a specific sheet.

For example, I have 5 sheets named Summary 1, Summary 2, Summary 3, Summary 4, and Data Sheet.

Now I want to hide all those sheets which have the word “Summary.” Use the below code to hide all the sheets which have the word Summary in its name.

Code:

Sub To_Hide_Specific_Sheet() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If InStr(Ws.Name, "Summary")> 0 Then Ws.Visible = xlSheetVeryHidden End If Next Ws 'InStr function looks for word or phrase in the sheet name 'If it finds then it will be hidden End Sub

Now Run, this code using the F5 Key, or you can also run this code manually and see the Output.

Similarly, in order to unhide all those sheets, use the below code.

Code:

Sub To_UnHide_Specific_Sheet() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If InStr(Ws.Name, "Summary")> 0 Then Ws.Visible = xlSheetVisible End If Next Ws 'InStr function looks for word or phrase in the sheet name 'If it finds then it will be hidden End Sub

Now Run, this code using the F5 Key, or you can also run this code manually and see the Output.

Things to Remember

  • Instr is a case sensitive function. In order to eliminate this case sensitive issue, you need to supply the (compare) argument as.
  • If you are searching for case sensitive character, you need to supply the (compare) argument as, by default, VBA takes this as the argument even if you do not supply.
  • Instr adalah fungsi VBA, sehingga Anda tidak bisa menggunakannya di lembar kerja excel seperti rumus bawaan lainnya.
  • Jika fungsi tidak dapat menemukan String 2, hasilnya akan nol.

Artikel yang menarik...