Получить все подстроки с скобками "<" и ">" в vba - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь получить все значения в столбцах D и E, которые включают только эти значения в скобках, например ;;;; VariableG5>, но без них с текстом NEW_LINE. Я нашел только то, как извлечь текст в скобках, но яхочу извлечь его с помощью скобок. Вот что я нашел:

    Public Sub My_Split()

    Dim z As Variant

    z = Split(Replace(Join(Filter(Split(Replace(Replace(Selection.Value, "<" , ">")

    Selection.Offset(0, 1).Resize(, UBound(z) + 1) = z

     End Sub

1 Ответ

0 голосов
/ 25 мая 2018
Sub simpleRegex()
Dim strPattern As String: strPattern = " <([a-z] | [A-Z] | [0-9] | \. | - | _)+>"
Dim Match As Object
Dim matches As Object

Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
Dim strInput As String
Dim Myrange As Range

Set Myrange = ActiveSheet.Range("D8:D10")

For Each cell In Myrange
    If strPattern <> "" Then
        strInput = cell.Value

        With regex
            .Global = True
            .MultiLine = True
            .IgnoreCase = False
            .Pattern = strPattern
        End With

        If regex.Test(strInput) Then
            Set matches = regex.Execute(strInput)
            For Each Match In matches
                MsgBox (Match.Value) 'A workaround I found to see if my pattern
                                     'worked but I need to print Match.value
                                     'in a column so this wont do
            Next
        Else
            MsgBox ("Not matched")
        End If
    End If
Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...