Excel Makro İle Regex | Genel

Merhaba, geçtiğimiz günlerde bir kolonunda <> işaretleri içeren bir değer, diğer kolonunda başka bir değer içeren bir excel dosyası elime geçti.
Bunları xml formatında kaydetmem gerekiyordu. Acaba vbscript’te regex var mı diye baktım ve var olduğunu gördüm.
Aşağıda basit bir kullanımını gösterdim.
Umarım birilerinin işine yarar.

Sub regex()

    Set re = New RegExp
    With re
       .Pattern = "<([a-zA-Z0-9]+)>"
       .IgnoreCase = False
       .Global = False
    End With
    For i = 5 To 89
        Set myMatches = re.Execute(Trim(CStr(Sayfa1.Range("A" & i))))
        For Each myMatch In myMatches
         Sayfa1.Range("E" & i) = "<" & myMatch.SubMatches(0) & ">" & Trim(CStr(Sayfa1.Range("B" & i))) & "</" & myMatch.SubMatches(0) & ">"
        Next
        DoEvents
    Next i
    MsgBox "Bitti"

End Sub

Regex çalıştırmak için bir de Tools>References seçeneğinden ‘Microsoft VBScript Regular Expressions 5.5’ eklemeniz gerekiyor.

Selamlar.

Leave a Reply

Your email address will not be published. Required fields are marked *