Bu öğretici, sağdan metin bulmak için InStrRev VBA işlevinin nasıl kullanılacağını gösterecektir…
InStrRev İşlevi
VBA InStrRev işlevi, bir dize içindeki bir alt dizenin konumunu arar. Konum sayımını soldan sağa döndürür, ancak aramayı dizenin sonundan başına kadar gerçekleştirir.
VBA InStrRev Alt Dizini Bul
VBA InStrRev işlevi, bir dize içindeki bir alt dizenin konumunu bulmak için kullanılabilir.
12345678 | Alt InStrRevExample_1()MsgBox InStrRev("ABCABC", "C") 'Sonuç: 6MsgBox InStrRev("ABCABC", "BC") 'Sonuç: 5MsgBox InStrRev("La La Land", "L") 'Sonuç: 7MsgBox InStrRev("La La Land", "La") 'Sonuç: 7MsgBox InStrRev("La La Land", "La ") 'Sonuç: 4MsgBox InStrRev("La La Land", "M") 'Sonuç: 0Alt Bitiş |
VBA InStrRev Başlangıç Konumu
VBA InStrRev İşlevi, soldan sağa doğru sayılan atanmış bir konumdan bir alt dize aramayı başlatabilir.
12345678 | Alt InStrRevExample_2()MsgBox InStrRev("La La Land", "L") 'Sonuç: 7MsgBox InStrRev("La La Land", "L", 8) 'Sonuç: 7MsgBox InStrRev("La La Land", "L", 7) 'Sonuç: 7MsgBox InStrRev("La La Land", "L", 6) 'Sonuç: 4MsgBox InStrRev("La La Land", "L", 4) 'Sonuç: 4MsgBox InStrRev("La La Land", "L", 3) 'Sonuç: 1Alt Bitiş |
VBA Programlama | Code Generator sizin için çalışıyor!
VBA InStrRev Büyük/küçük harf duyarlılığı
VBA InStrRev İşlevi varsayılan olarak büyük/küçük harf duyarlıdır. İsteğe bağlı bir parametre kullanarak bu davranışı büyük/küçük harfe duyarlı olmayacak şekilde değiştirebilirsiniz. Bu durumda, aramanın başlangıç konumunu da tanımlamanız gerekir.
123456789 | Alt InStrRevExample_3()'InstrRev varsayılan olarak büyük/küçük harf duyarlıdırMsgBox InStrRev("La La Land", "L") 'Sonuç: 7MsgBox InStrRev("La La Land", "l") 'Sonuç: 0'InstrRev büyük/küçük harfe duyarlı olmayan aramalar yapabilirMsgBox InStrRev("La La Land", "L", -1, vbTextCompare) 'Sonuç: 7MsgBox InStrRev("La La Land", "l", -1, vbTextCompare) 'Sonuç: 7Alt Bitiş |
VBA InStrRev Son Alan
VBA InStrRev İşlevi, bir dizedeki son boşluğun konumunu bulabilir.
123456789 | Alt InStrRevExample_4()MsgBox InStrRev("La La Land", " ")'Sonuç: 6MsgBox InStrRev("Leonardo da Vinci", " ")'Sonuç: 12MsgBox InStrRev("Güç sizinle olsun", " ")'Sonuç: 22Alt Bitiş |
VBA InStrRev Son Alandan İkinci
VBA InStrRev işlevi, bir dizedeki ikinci ila son boşluğun konumunu bulabilir. Bir dizedeki son boşluğu bulmak için VBA InStrRev işlevini kullanabiliriz ve sonra ikinci ila son boşluğun konumunu bulmak için InStrRev'i yeni bir başlangıç noktasıyla tekrar kullanabiliriz.
12345678910111213 | Alt InStrRevExample_5()LastPos'u Tamsayı Olarak KarartLastPos = InStrRev("Güç sizinle olsun", " ")MsgBox LastPos 'Sonuç: 22SecondLastPos'u Tamsayı Olarak KarartınSecondLastPos = InStrRev("Güç sizinle olsun", " ", LastPos - 1)MsgBox SecondLastPos 'Sonuç: 17'InStrRev, son boşluktan hemen önce boşluk aramaya başladıSağdan sola doğru arama yaptığı için sondan ikinci boşluğu bulacaktır.Alt Bitiş |
VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!
VBA InStrRev Dönüş Dosya Adı
VBA InStrRev işlevi, yolu ve dosya adını içeren bir dizeden dosya adını kolayca döndürmek için kullanılabilir. InStrRev işlevini VBA Len ve VBA Right işlevleriyle kullanacağız.
VBA Len işlevi, bir dizenin uzunluğunu döndürür:
1 | MsgBox Len("XBCX") 'Sonuç: 4 |
VBA Right işlevi, bir dizenin sonundan n karakter döndürür:
1 | MsgBox Right("ABCDE", 2) 'Sonuç: DE |
Yol adındaki “\”nin son tekrarını bulmak için InStrRev işlevini kullanabilir ve dosya adının uzunluğunu hesaplamak için Len işlevini kullanabiliriz. Sağ daha sonra dosya adını çıkarabilir.
12345678910111213141516171819202122232425262728 | Alt InStrRevExample_4()PathEx'i Dize Olarak KarartınPathEx = "C:\MyFiles\Other\UsefulFile.pdf"Dim FilenameEx As StringFilenameEx = Right(PathEx, Len(PathEx) - InStrRev(PathEx, "\"))MsgBox FilenameEx 'Sonuç: UsefulFile.pdf'Bu kodu parçalayalımMsgBox Len(PathEx)'Bu, yol adının uzunluğudur (31)MsgBox InStrRev(PathEx, "\")'Bu, dizedeki son \'nin konumudurMsgBox Len(PathEx) - InStrRev(PathEx, "\")'Bu, dosya adının uzunluğu (14)'Dizedeki son \'nin tam uzunluğu ile konumu arasındaki fark'(31-27=14)'Artık dosya adının uzunluğunu biliyoruz ve tabii ki sonunda'Doğru işlev bu durum için idealdirFilenameEx = Right(PathEx, Len(PathEx) - InStrRev(PathEx, "\"))Alt Bitiş |