Всем доброго дня! Подскажите пожалуйста как должен выглядеть цикл для поиска подходящих вариантов. Во вложении есть пример как должен работать цикл. Суть заключается в следующем: есть таблица с размерами ячеек и таблица товаров с размерами. Необходимо каждый товар сравнить с каждой ячейкой по размерам и в случае совпадения вписать название товара. Но так чтобы названия не дублировались. Спасибо.
Всем доброго дня! Подскажите пожалуйста как должен выглядеть цикл для поиска подходящих вариантов. Во вложении есть пример как должен работать цикл. Суть заключается в следующем: есть таблица с размерами ячеек и таблица товаров с размерами. Необходимо каждый товар сравнить с каждой ячейкой по размерам и в случае совпадения вписать название товара. Но так чтобы названия не дублировались. Спасибо.AleksN
Sub цикл() Dim i As Long, LastRow As Long Dim j As Long, lLastRow As Long LastRow = Sheets("товар").Cells(Rows.Count, 1).End(xlUp).Row lLastRow = Sheets("ячейки").Cells(Rows.Count, 1).End(xlUp).Row Application.ScreenUpdating = False With Sheets("товар") For i = 2 To LastRow For j = 2 To lLastRow If .Cells(i, 2) >= Cells(j, 2) And .Cells(i, 2) <= Cells(j, 3) And .Cells(i, 3) >= Cells(j, 4) And .Cells(i, 3) <= Cells(j, 5) And Cells(j, 6) = "" Then Cells(j, 6) = .Cells(i, 1) Exit For End If Next Next End With Application.ScreenUpdating = True End Sub
Sub цикл() Dim i As Long, LastRow As Long Dim j As Long, lLastRow As Long LastRow = Sheets("товар").Cells(Rows.Count, 1).End(xlUp).Row lLastRow = Sheets("ячейки").Cells(Rows.Count, 1).End(xlUp).Row Application.ScreenUpdating = False With Sheets("товар") For i = 2 To LastRow For j = 2 To lLastRow If .Cells(i, 2) >= Cells(j, 2) And .Cells(i, 2) <= Cells(j, 3) And .Cells(i, 3) >= Cells(j, 4) And .Cells(i, 3) <= Cells(j, 5) And Cells(j, 6) = "" Then Cells(j, 6) = .Cells(i, 1) Exit For End If Next Next End With Application.ScreenUpdating = True End Sub