Basit Instr Fonksiyonu | Başlangıç Konumu | sıfır | Instr ve If | Büyük/küçük harfe duyarsız Arama
Kullanmak Instr içinde Excel VBA'sı bir dizedeki bir alt dizenin konumunu bulmak için. Instr işlevi oldukça çok yönlüdür.
Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin. Kod satırlarını yürütmek için sayfadaki komut düğmesine tıklayın.
Basit Yönlendirme İşlevi
Varsayılan olarak Instr işlevi, dizenin başında (1. konum) aramaya başlar.
Kod:
Dim durumu As String
eyalet = "Virginia"
MsgBox InStr(durum, "cin")
Sonuç:
Not: "cin" dizisi 4. konumda bulundu.
Başlangıç konumu
Aşağıdaki ikinci Instr işlevi, 7 konumunda aramaya başlar.
Kod:
Dim durumu As String
eyalet = "Güney Karolina"
MsgBox InStr(durum, "o")
MsgBox InStr(7, durum, "o")
Sonuç:
Açıklama: ilk Instr işlevi, 2. konumda "o" dizesini bulur. İkinci Instr işlevi, 7. konumda aramaya başlar ve 10. konumda "o" dizesini bulur.
Sıfır
Instr işlevi, dize bulunamazsa 0 döndürür (ileride göreceğimiz gibi önemlidir).
Kod:
Dim durumu As String
eyalet = "Florida"
MsgBox InStr(durum, "biz")
Sonuç:
Sonuç: "biz" dizesi bulunamadı.
Instr ve Eğer
kullanan basit bir VBA programı oluşturalım. Instr işlevi.
Kod:
Dim durumu As String, alt string As String
durum = Aralık ("A2"). Değer
substring = Aralık ("B2"). Değer
InStr(durum, alt dize) > 0 ise
Aralık("C2").Value = "Bulunan"
Başka
Aralık("C2").Value = "Bulunamadı"
Bitir
Sayfadaki komut düğmesine tıkladığınızda sonuç:
Açıklama: "outh" dizesi 2 konumunda bulundu. Instr işlevi 2 değerini döndürür. Sonuç olarak, Excel VBA "Bulunan" dizesini C2 hücresine yerleştirir.
Büyük/küçük harfe duyarsız Arama
Varsayılan olarak Instr işlevi büyük/küçük harfe duyarlı bir arama gerçekleştirir. B2 hücresine "dakota" dizesini girin ve sayfadaki komut düğmesini tıklayın.
Açıklama: "dakota" dizesi bulunamadı (ilk harf büyük değil). Instr işlevi 0 döndürür. Sonuç olarak, Excel VBA "Bulunamadı" dizesini C2 hücresine yerleştirir.
Büyük/küçük harfe duyarlı olmayan bir arama yapmak için kodu aşağıdaki gibi güncelleyin:
Dim durumu As String, alt string As String
durum = Aralık ("A2"). Değer
substring = Aralık ("B2"). Değer
InStr(1, durum, alt dize, vbTextCompare) > 0 ise
Aralık("C2").Value = "Bulundu"
Başka
Aralık("C2").Value = "Bulunamadı"
Bitir
Sayfadaki komut düğmesine tıkladığınızda sonuç:
Açıklama: Yukarıda gösterilen Instr işlevinin 4 argümanı vardır. Büyük/küçük harfe duyarsız bir arama gerçekleştirmek için her zaman bir başlangıç konumu (ilk argüman) belirtin ve vbTextCompare (dördüncü argüman) kullanın.