Function Maska(cell$)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "([A-Z]+-?[A-Z]+\d{2,3}([A-Z]+)?)"
Maska = .Replace(cell, "($1)")
End With
End Function
И вот еще вопрос можно ли использовать несколько патернов, вариантов артикулов бывает море, и писать одно большое регулярное выражение просто не реально для меня
Sub iMaska()
Dim i As Long
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("B1:B" & iLastRow).ClearContents
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "([A-Z]+-?[A-Z]+\d{2,3}([A-Z]+)?)"
For i = 1 To iLastRow
Cells(i, 2) = .Replace(Cells(i, 1), "($1)")
Next
End With
End Sub
И применение нескольких паттернов будет выглядит так? .Global = True .Pattern = "([A-Z]+-?[A-Z]+\d{2,3}([A-Z]+)?)" .Pattern = "([A-Z]+2)" Maska = .Replace(cell, "($1)")
Спасибо огромное! Все работает. И несколько паттернов тоже. Хотелось бы вас попросить еще об одном . --- Можно еще пример 1. Удалить артикул по патерну 2. Удалить все кроме артикула