Определение совпадающих артикулов в двух диапазонах ячеек.

 

Добрый день. Меня зовут Руслан.

Задача: определить, какие артикулы из первого диапазона ячеек присутствуют в другом диапазоне ячеек. Под определением подразумеваю выделение цветом ячеек с совпадающими артикулами. В идеале, для каждой пары совпадающих артикулов должен быть свой цвет.

Примечание: первый диапазон состоит из ячеек только с артикулами. А второй диапазон состоит из ячеек с текстом, в котором может присутствовать артикул. Артикул — число фиксированной длины (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

Внимание макрос взят, как фрагмент из более сложного, поэтому в нем могут содержаться лишние переменные и небольшие ошибки, но в целом концепция верная работающая.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *