Я хотел бы извлечь группу чисел, которые существуют в строках. Строки состоят из буквенных и не буквенно-цифровых символов, а числовые группы различаются по длине, но всегда являются последовательными. Строки находятся в одном столбце отчета Excel. Например:
Строка и штрих-коды
![enter image description here](https://i.stack.imgur.com/3phap.png)
Мне не нужно перемещать или манипулировать группировками номеров, а использовать их дляидентифицировать связанные штрих-коды. Одна группа чисел может представлять один или два уникальных штрих-кода. Штрих-коды расположены в том же отчете 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, в котором штрих-коды объединены в одну ячейку.