Каков наилучший способ определить числовую группировку в строке для выполнения дальнейших манипуляций с данными? - PullRequest
0 голосов
/ 06 ноября 2019

Я хотел бы извлечь группу чисел, которые существуют в строках. Строки состоят из буквенных и не буквенно-цифровых символов, а числовые группы различаются по длине, но всегда являются последовательными. Строки находятся в одном столбце отчета Excel. Например:

Строка и штрих-коды

enter image description here

Мне не нужно перемещать или манипулировать группировками номеров, а использовать их дляидентифицировать связанные штрих-коды. Одна группа чисел может представлять один или два уникальных штрих-кода. Штрих-коды расположены в том же отчете Excel в столбце на том же рабочем листе и в той же строке с соответствующей группировкой номеров

Я хотел бы использовать группировку номеров, чтобы идентифицировать один или два связанных штрих-кода и переместить эти штрих-кодыв другой документ Excel.

Будет ли лучше использовать вариант группировки выражения RegEx в этой ситуации? Будет ли проще создать временный заполнитель для групп номеров, сопоставляя их со своими штрих-кодами?

Sub MatchCaseNo()

Dim StrCaseNo As String: strPattern = "(\W{4})"
Dim Myrange As Range
Dim strInput As String

Set Myrange = ActiveSheet.Range("D1:D30") ' Would ideally loop through     column until reaching the first empty cell

For Each cell In Myrange
     If strPattern <> "(\W{4})" Then
        strInput = cell.Value

        With regEx
           .Global = True
           .MultiLine = True
           .Ignorecase = True
           .Patter = strPattern
        End With

        If regEx.Test(strInput) Then
            C.Offset(0, 1) = regEx.Replace(strInput, "$1")
        Else
            C.Offset(0, 1) = "(No Match)"
         End If
     End If
   Next
End Sub

Например, из строки ABDE-LEADS: 1770200: EOAD: BLBLD Я хотел бы, чтобы макрос сгруппировался в 1770200 и нашел штрих-коды, связанные с этим номером. Номер встречается в двух ячейках в столбце Номер дела и имеет два соответствующих штрих-кода (0004749486 и 0004749487). Я хотел бы скопировать два штрих-кода в другой документ Excel, в котором штрих-коды объединены в одну ячейку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...