Excel VBA'da Instr - Kolay Excel Makroları

İçindekiler

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.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave