Добрый день. Меня зовут Руслан.
Задача: определить, какие артикулы из первого диапазона ячеек присутствуют в другом диапазоне ячеек. Под определением подразумеваю выделение цветом ячеек с совпадающими артикулами. В идеале, для каждой пары совпадающих артикулов должен быть свой цвет.
Примечание: первый диапазон состоит из ячеек только с артикулами. А второй диапазон состоит из ячеек с текстом, в котором может присутствовать артикул. Артикул — число фиксированной длины (6 символов). Ячейки с совпадающими артикулами могут располагаться на разных строках.
Определённые ячейки с артикулами (из первого диапазона) затем нужно будет скопировать в другую таблицу Excel.
Ответ:
Макрос определяющий совпадения значений в ячейках:
Sub Sverka()
Dim keyword As String
Dim ykey As Integer
Dim activeY As Integer
Dim SR1 As String
Dim SR3 As String
Dim schet As Integer
ykey = 1
keyword = «»
schet = 1
Do Until keyword = «$»
keyword = Sheets(«Keyword»).Cells(ykey, 1).Value ‘ перебор ячеек в первом столбце(в конце столбца заранее следует поставить знак $ иначе будет перебирать до конца страницы)
On Error Resume Next
For Each cell In Selection
If cell.Value = «» Then GoTo Line1
SR1 = Sheets(«Keyword»).Cells(ykey, 2).Text
SR3 = Sheets(«Keyword»).Cells(ykey, 3).Text
If InStr(StrConv(cell.Value, vbLowerCase), keyword) > 0 Then cell.Interior.Color = vbRed
Line1:
Next cell
Application.StatusBar = «Расчёт…» & Round(ykey / schet * 100, 1) & «%»
ykey = ykey + 1
Loop
Внимание макрос взят, как фрагмент из более сложного, поэтому в нем могут содержаться лишние переменные и небольшие ошибки, но в целом концепция верная работающая.