• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru Belli Karakter Arasını VBA ile Alma

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Merhaba üstadlar;

K5 hücresinde yer alan "........... (Salı) ..........." cümlesindeki "SALI" ifadesini almak istiyorum. Yalnız VBA kullanmam gerekmekte. Cümleler değişken parantez içi değişken.
Tek amacım parantez içinde yer alan kelime ne olursa olsun bulma. Tam istediğim gibi şekilde olanı bulup bir türlü bulup çözemedim.
 
Deneyiniz:

PHP:
Sub parantez()
    bas = WorksheetFunction.Find("(", [K5])
    bit = WorksheetFunction.Find(")", [K5])
    [K6] = Mid([K5], bas + 1, bit - bas - 1)
End Sub
 
Sonuçtan emin olmak için denemeler yaparken çözüm paylaşılmış :)
Aynı cevap olacak ama hazırlamışken paylaşayım.
Kod:
Sub parantez_ici()
Dim metin As String, kelime As String
Dim baslangic As Integer, bitis As Integer

metin = Range("K5").Value
baslangic = WorksheetFunction.Find("(", metin)
bitis = WorksheetFunction.Find(")", metin)
kelime = Mid(metin, baslangic + 1, bitis - baslangic - 1)

MsgBox kelime, vbInformation, "Parantez İçindeki Kelime"

metin = "": kelime = ""
baslangic = 0: bitis = 0
End Sub
 
Kod:
Sub TEST()
    With CreateObject("VBScript.RegExp")
        .Pattern = "(.+\()(.+)(\).+)"
        If .TEST([k5].Value) Then [k6].Value = .Replace([k5].Value, "$2")
    End With
End Sub
 
Merhaba Sayın @veyselemre
RegExp için yararlanabileceğimiz kaynak tavsiye edebilir misiniz?
 
Kod:
Sub TEST2()
    al = [k5].Value
    bul1 = InStr(al, "(")
    bul2 = InStr(al, ")")
    If bul1 > 0 And bul2 > 0 Then
        al = Mid(al, bul1 + 1, bul2 - bul1 - 1)
    End If
    MsgBox al
End Sub
 
Değerli üstadlar elinize sağlık teşekkür ediyorum hepsi sorunsuz çalışmakta :)
 
Teşekkür ederim. Elinize sağlık.
 
Geri
Üst