3. a kaçıncı karakter?

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
A1 hücresinde bulunan "adapazarına" kelimesindeki 3. a kaçıncı karakterdir?
Bu soruyu makro ile nasıl çözersiniz?
Saygılarımla
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kod:
Public Sub kac()

Dim i As Integer, _
    j As Integer, _
    k As Integer, _
    aranan As String

aranan = "a"

If Not Range("A1") = "" Then
    For i = 1 To Len(Range("A1"))
        If Mid(Range("A1"), i, 1) = aranan Then
            j = j + 1
            If j = 3 Then
                k = i
                Exit For
            End If
        End If
    Next i
End If
    
If k > 0 Then
    MsgBox "Sıra : " & k
Else
    MsgBox "aranan harf bulunmadı"
End If

End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Çok teşekkür ederim Necdet Hocam,
Saygılarımla
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()
    With CreateObject("VBScript.Regexp")
        .Global = True
        .Pattern = "a"
        With .Execute(Range("A1").Value)
            If .Count > 2 Then
                MsgBox .Item(2).firstindex + 1
            Else
                MsgBox "3 adet a yoktur."
            End If
        End With
    End With
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

C++:
Option Explicit

Sub Test()
    Dim Bul As Integer
    
    On Error Resume Next
    Bul = 0
    Bul = Evaluate("=FIND(""|"",SUBSTITUTE(A1,""A"",""|"",3),1)")
    On Error GoTo 0
    
    MsgBox IIf(Bul = 0, "Kelimede 3 adet A harfi yok!", Bul)
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Çok teşekkür ederim Veysel Emre Hocam,
Ama bu makro a ların sayısını veriyor
Saygılarımla
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Çok teşekkür ederim Korhan Ayhan Hocam,
Saygılarımla
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Veysel Emre Hocam,
Çok haklısınız. Ancak şimdi daha çok merak ettim. "." nokta, "a" gibi bir karakter değil midir, yoksa ben mi yanlış düşünüyorum? Harf varsa hata vermiyor, ama nokta varsa hatalı geliyor.
Saygılarımla
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
RegExp uygulamasında desen olarak aşağıdaki gibi deneyiniz.

.Pattern = "\."
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test2()
    Dim txt$
    txt = Range("A1").Value
    If Len(txt) - Len(Replace(txt, ".", "")) > 2 Then
        'MsgBox InStr(InStr(InStr(txt, ".") + 1, txt, ".") + 1, txt, ".")
        'veya döngülü ****************
        Dim bul As Integer, i As Integer
        bul = 0
        For i = 1 To 3
            bul = InStr(bul + 1, txt, ".")
        Next i
        MsgBox bul
        ' *****************************
    Else
        MsgBox "3/3+ adet . bulunamamıştır."
    End If
End Sub
Sub test3()
    Dim txt$
    txt = Range("A1").Value
    If Len(txt) - Len(Replace(txt, ".", "")) > 2 Then
        MsgBox InStr(WorksheetFunction.Substitute(txt, ".", Chr(2), 3), Chr(2))
    Else
        MsgBox "3/3+ adet . bulunamamıştır."
    End If
End Sub
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Korhan Ayhan ve Sayın Veysel Emre Hocalarım,
Daha önce hiç karşılaşmamıştım. İlgilerinize ve bilgilendirmelerinize çok teşekkür ederim.
Son iki örnek için de ayrıca teşekkür ederim Veysel Emre Hocam
Saygılarımla
 
Üst