Ребят, так я разобралась, но работает странно, мне все же нужен совет в логичности..все ли я верно делаю. вот код
что мне по сути нужно , есть товар, в рамках одного товара, выявить разницу в цене которая больше на 30% от минимальной и выделить ее цветом...он мне все выделяет цветом
что я делаю :
Код |
---|
Sub x()
Dim lLastRow As Long, RowStart As Long, RowFinish As Long
Dim price As Currency
Dim Raznica As Double, iMin As Double, j As Long
Raznica = (Cells(1, 4) + 100) / 100 'задаю процент
LastRow = Cells(Rows.Count, 3).End(xlUp).Row
RowStart = 15 ' стартую с 15 ячейки
Range(Cells(15, 7), Cells(LastRow, 7)).Interior.ColorIndex = xlNone
For i = RowStart To LastRow
If Sheets("price").Cells(i + 1, 5) <> Sheets("price").Cells(i, 5) Then 'сравниваю строки если строки разные то
RowFinish = i 'запоминаю адрес ячейки
iMin = Application.Small(Range(Sheets("price").Cells(RowStart, 7), Sheets("price").Cells(LastRow, 7)), Application.CountIf(Range(Sheets("price").Cells(RowStart, 7), Sheets("price").Cells(LastRow, 7)), 0) + 1) 'перепрыгиваю на столбец с ценой и ищу там минимальную цену отличную от 0
For j = RowStart To RowFinish
If Sheets("price").Cells(j, 7) / iMin > Raznica Then ' ищу число большее на 30% от минимального
Sheets("price").Cells(j, 7).Interior.Color = RGB(227, 20, 20)
End If
End If
Next
RowStart = i + 1
End If
Next
End Sub
|
Кидаю файл, не обращайте внимание на пустые строки это вырезка из файла