VBA InStr

VBA InStr

Fungsi InStr di Excel VBA

Fungsi VBA InStr membantu menemukan posisi substring yang diberikan dalam string. Ini mengembalikan kejadian pertama dari substring dalam bentuk integer (output). String adalah rangkaian karakter atau teks yang diberikan ke fungsi dalam tanda kutip ganda.

Misalnya, InStr dapat mengekstraksi substring dari sebuah kalimat, menerapkan font yang diinginkan ke string tertentu, menemukan posisi karakter di dalam string, dan seterusnya.

Fungsi VBA InStr di excel mulai mencari dari kiri ke kanan.

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 InStr (wallstreetmojo.com)

Sintaks Fungsi VBA InStr

Sintaks fungsi ditunjukkan pada gambar berikut:

Fungsi menerima argumen berikut:

  • Mulai: Ini adalah posisi dari mana fungsi mulai mencari. Misalnya, jika ‘mulai’ disetel ke 3 dan karakter ‘a’ ditemukan dalam kata ‘Bangalore’, hasilnya adalah 5.
  • String 1: Ini adalah string aktual di mana substring dapat ditemukan. Misalnya, jika karakter ‘a’ ditemukan dalam kata ‘Bangalore’, ‘string 1’ adalah ‘Bangalore’.
  • String 2: Ini adalah substring yang akan ditemukan. Misalnya, jika karakter ‘a’ ditemukan dalam kata ‘Bangalore’, string 2′ adalah ‘a.’
  • Bandingkan: Ini adalah jenis perbandingan yang akan dilakukan. Jenis-jenis metode perbandingan ditunjukkan pada gambar berikut.

Ketiga metode perbandingan tersebut dijelaskan sebagai berikut:

  1. vbBinaryCompare: Ini adalah perbandingan biner dan dapat dimasukkan sebagai nol (0). Ini adalah pencarian peka huruf besar kecil dari substring (string 2) dalam string aktual (string 1).

Misalnya, jika 0 ditentukan dalam argumen dan:

sebuah. Karakter ‘a’ dapat ditemukan dalam kata ‘Bangalore,’ keluarannya adalah 2.

  1. Karakter ‘A’ dapat ditemukan dalam kata ‘Bangalore,’ keluarannya adalah 0. Ini karena string yang diberikan dalam huruf besar yang tidak ditemukan dalam ‘string 1.’
  2. vbTextCompare: Ini adalah perbandingan tekstual dan dapat dimasukkan sebagai satu (1). Ini adalah pencarian case-insensitive dari ‘string 2’ di ‘string 1.’

Misalnya, jika 1 ditentukan dalam argumen dan:

sebuah. Karakter ‘a’ dapat ditemukan dalam kata ‘Bangalore,’ keluarannya adalah 2.

  1. Karakter ‘A’ dapat ditemukan dalam kata ‘Bangalore,’ keluarannya adalah 2. Ini karena metode perbandingan ini mengabaikan selubung substring.
  2. vbDatabaseCompare: Ini dapat dimasukkan sebagai dua (2). Itu membandingkan berdasarkan informasi dari database Microsoft Access.

‘String 1’ dan ‘string 2’ adalah argumen yang diperlukan, sedangkan ‘mulai’ dan ‘bandingkan’ adalah opsional.

Catatan 1: Jika parameter ‘mulai’ dihilangkan, defaultnya adalah 1, menyiratkan bahwa pencarian dimulai dari posisi pertama.

Catatan 2: Jika parameter ‘bandingkan’ dihilangkan, metode standarnya adalah ‘vbBinaryCompare.’

Contoh InStr VBA

Contoh #1–Argumen ‘Mulai’ Dihilangkan

Kita harus menemukan posisi karakter ‘a’ dalam kata ‘Bangalore.’

Langkah 1: Masukkan kode berikut.

Sub Instr_Example1() Dim i As Variant i = InStr(“Bangalore”, “a”) MsgBox i End Sub

Langkah 2: Tekan F5 atau jalankan kode VBA Kode VBA Kode VBA mengacu pada serangkaian instruksi yang ditulis oleh pengguna dalam bahasa pemrograman Aplikasi Visual Basic pada Editor Visual Basic (VBE) untuk melakukan tugas tertentu. Baca lebih lanjut secara manual, seperti yang ditunjukkan pada gambar berikut.

Langkah 3: Outputnya adalah 2, seperti yang ditunjukkan pada gambar berikut. Oleh karena itu, karakter ‘a’ berada di posisi kedua dalam kata ‘Bangalore.’

Contoh #2–Argumen ‘Mulai’ Ditentukan

Kita harus menemukan posisi karakter ‘a’ dalam kata ‘Bangalore.’ Pencarian harus dimulai dari posisi ketiga.

Langkah 1: Masukkan kode berikut.

Sub Instr_Example2() Dim i As Variant i = InStr(3, “Bangalore”, “a”) MsgBox i End Sub

Langkah 2: Tekan F5 atau jalankan kode VBA secara manual, seperti yang ditunjukkan pada gambar berikut.

Langkah 3: Outputnya adalah 5, seperti yang ditunjukkan pada gambar berikut. Karena pencarian dimulai dari huruf ketiga (n), fungsi VBA InStr di excel mengabaikan kemunculan pertama (posisi kedua) dari karakter ‘a.’

Oleh karena itu, dalam hal ini, karakter ‘a’ berada pada posisi kelima dalam kata ‘Bangalore’.

Contoh #3–Penelusuran Peka Huruf Besar

Kita harus menemukan karakter ‘A’ dalam kata ‘Bangalore.’

Mari kita berikan argumen pembanding ‘vbBinaryCompare’ ke fungsi VBA InStr.

Langkah 1: Masukkan kode berikut.

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

Langkah 2: Tekan F5 atau jalankan kode VBA secara manual, seperti yang ditunjukkan pada gambar berikut.

Langkah 3: Outputnya adalah 0, seperti yang ditunjukkan pada gambar berikut. Karena argumen ‘vbBinaryCompare’ disediakan, fungsi VBA InStr di excel akan mencari huruf besar ‘A.’

Oleh karena itu, fungsi mengembalikan 0 karena tidak dapat menemukan huruf besar ‘A’ dalam kata ‘Bangalore.’

Contoh #4–Penelusuran yang tidak peka huruf besar/kecil

Kita harus menemukan karakter ‘A’ dalam kata ‘Bangalore’ menggunakan pendekatan case-insensitive.

Mari kita berikan argumen pembanding ‘vbTextCompare’ ke fungsi VBA InStr.

Langkah 1: Masukkan kode berikut.

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

Langkah 2: Tekan F5 atau jalankan kode VBA secara manual, seperti yang ditunjukkan pada gambar berikut.

Langkah 3: Outputnya adalah 2, seperti yang ditunjukkan pada gambar berikut. Karena argumen ‘vbTextCompare’ disediakan, fungsi InStr mengabaikan casing dari substring ‘A.’

Oleh karena itu, fungsi mengembalikan 2 karena huruf ‘A’ atau ‘a’ ada di posisi kedua dalam kata ‘Bangalore.’

Contoh #5–Tingkat Lanjutan

Mari kita perhatikan contoh fungsi VBA InStr tingkat lanjut di excel.

Gambar berikutnya memperlihatkan lima lembar kerja di Excel dengan nama, ‘Data’, ‘Ringkasan 1’, ‘Ringkasan 2’, ‘Ringkasan 3’, dan ‘Ringkasan 4’.

Kami ingin menyembunyikan semua lembar kerja kecuali lembar ‘Data.’

Langkah 1: Masukkan kode berikut untuk menyembunyikan semua lembar yang berisi kata ‘Ringkasan’ di namanya.

Sub To_Hide_Specific_Sheet() Dim Ws As Worksheet Untuk Setiap Ws Di ActiveWorkbook.Worksheets If InStr(Ws.Name, “Summary”) > 0 Then Ws.Visible = xlSheetVeryHidden End If Next Ws ‘Fungsi InStr mencari kata atau frase dalam nama sheet ‘Jika ditemukan maka akan disembunyikan End Sub

Langkah 2: Tekan F5 atau jalankan kode VBA secara manual, seperti yang ditunjukkan pada gambar berikut. Di output, hanya sheet ‘Data’ yang terlihat. Empat lembar sisanya disembunyikan.

Demikian pula, kita dapat memperlihatkan lembar-lembar ituTampilkan Lembaran ItuAda beberapa metode berbeda untuk Menampilkan Lembaran di Excel sesuai kebutuhan untuk memperlihatkan semua, semua kecuali satu, beberapa, atau lembar kerja tertentu. Anda dapat menggunakan Klik Kanan, Tombol Pintas Excel, atau menulis kode VBA di Excel. read more yang mengandung kata ‘Ringkasan’ di namanya.

Langkah 1: Masukkan kode berikut untuk menampilkan semua sheet.

Sub To_UnHide_Specific_Sheet() Dim Ws As Worksheet Untuk Setiap Ws Di ActiveWorkbook.Worksheets If InStr(Ws.Name, “Summary”) > 0 Then Ws.Visible = xlSheetVisible End If Next Ws ‘Fungsi InStr mencari kata atau frase dalam nama sheet ‘Jika ditemukan maka akan disembunyikan End Sub

Langkah 2: Tekan F5 atau jalankan kode VBA secara manual, seperti yang ditunjukkan pada gambar berikut. Di keluaran, kelima lembar tidak disembunyikan.

Properti Fungsi VBA InStr

Sifat-sifat fungsi tercantum sebagai berikut:

  • Ini adalah fungsi peka huruf besar-kecil. Untuk mengatasi masalah ini, berikan argumen ‘bandingkan’ ‘vbTextCompare.’
  • Ini adalah fungsi VBAFungsi VBAFungsi VBA melayani tujuan utama untuk melakukan perhitungan tertentu dan mengembalikan nilai. Oleh karena itu, di VBA, kami menggunakan sintaks untuk menentukan parameter dan tipe data saat mendefinisikan fungsi. Fungsi semacam itu disebut fungsi yang ditentukan pengguna. Baca lebih lanjut dan tidak dapat digunakan seperti rumus bawaan Excel lainnya.
  • Mengembalikan nol jika tidak dapat menemukan ‘string 2’ di ‘string 1.’

Pertanyaan yang Sering Diajukan

Tentukan fungsi VBA InStr.

Fungsi InStr VBA mengembalikan posisi satu string dalam string lain. Posisi ini sesuai dengan kemunculan pertama dari substring. Fungsi mengembalikan integer sebagai output. Ini mengembalikan nol (0) jika substring tidak ditemukan di dalam string.

Sintaks dan argumen dari fungsi terdaftar sebagai berikut:

‘ InStr([mulai],string1,string2,[bandingkan])’

Mulai: Ini menentukan posisi dari mana pencarian harus dimulai. Nilai defaultnya adalah 1.
String 1: Ini adalah string aktual yang akan dicari substringnya.
String 2: Merupakan substring yang akan dicari.
Bandingkan: Menentukan metode perbandingan yang akan digunakan. Metode tersebut dinyatakan sebagai berikut:
a. vbBinaryCompare atau 0: Digunakan untuk pencarian peka huruf besar kecil dari substring di dalam string.
b. vbTextCompare atau 1: Ini digunakan untuk pencarian substring yang tidak peka huruf besar-kecil di dalam string.
c. vbDatabaseCompare atau 2: Digunakan untuk perbandingan dengan database Microsoft Access.

Argumen ‘string 1’ dan ‘string 2’ adalah wajib, sementara ‘mulai’ dan ‘bandingkan’ adalah opsional.

Apa perbedaan antara fungsi InStr dan InStrRev dari VBA?

Perbedaan antara kedua fungsi tersebut dinyatakan sebagai berikut:

• VBA InStr mencari dari kiri ke kanan sedangkan Fungsi VBA InStrRevVBA InStrRevVBA INSTRREV atau fungsi reverse st ring mengembalikan posisi satu string yang terjadi di dalam string lainnya. Ini mengurutkan mulai dari akhir string (dari kanan ke kiri) dari mana kita mencari string yang dapat dicari. Baca lebih lanjut pencarian dari kanan ke kiri.
• Sintaks VBA InStr adalah ‘InStr([mulai],string1,string2,[bandingkan]).’ Sebagai perbandingan, sintaks InStrRev adalah ‘InStrRev(string1,string2,[mulai,[bandingkan]]).’
• Jika argumen ‘mulai’ dihilangkan, InStr mulai mencari dari awal (posisi pertama) string. Sebaliknya, InStrRev mulai mencari dari ujung (posisi terakhir) string.

Bagaimana cara menggunakan fungsi VBA InStr di excel dengan wildcard?

Dengan penggunaan wildcard, fungsi InStr mengembalikan ‘true’ atau ‘false’ bergantung pada apakah ia telah menemukan substring yang ditentukan di dalam string atau tidak.

Fungsi ini mendukung penggunaan wildcard berikut:
1. Asterisk (*): Ini mewakili satu atau lebih karakter string dan berfungsi sebagai berikut:
‘a*’ mengacu pada teks yang diawali dengan karakter ‘a.’
• ‘*a’ mengacu pada teks yang diakhiri dengan karakter ‘a.’
• ‘ *a*’ mengacu pada teks yang memiliki karakter ‘a’ di tengahnya.
2. Tanda tanya (?): Mewakili satu karakter string dan berfungsi sebagai berikut:
• ‘a?’ mengacu pada dua karakter yang dimulai dengan ‘a.’ • ‘?a’ mengacu pada dua karakter yang diakhiri dengan ‘a.’ • ‘?sebuah?’ mengacu pada tiga karakter yang memiliki ‘a’ di tengah. Demikian pula, fungsi InStr VBA juga dapat digunakan dengan tilde (~).

Artikel yang Direkomendasikan

Ini telah menjadi panduan untuk Fungsi VBA InStr di Excel. Di sini kita belajar bagaimana menggunakan fungsi InStr bersama dengan contoh langkah demi langkah dan templat excel yang dapat diunduh. Di bawah ini Anda dapat menemukan beberapa artikel Excel VBA yang berguna-

  • Fungsi Penyalinan File VBA
  • File Dialog VBA Excel
  • Fungsi String Excel VBA
  • SubString VBA Excel
  • Lembar Kerja Nama VBA

Related Posts