Доброго времени суток! Прошу помощи с написанием макроса (по возможности с расшифровкой). Работаю с файлом,в котором отображается информация об остатках товара (более 7000 позиций) на 30 и более торговых точках и их складах, сравниваю эти данные с продажами за определенный период. Для анализа мне необходимо визуально находить совокупные остатки торговой точки и ее склада, которые меньше, чем продажи этой же торговой точки. Пыталась создать правило условного форматирования, но ничего не вышло. Толи диапазон в 7000 строк не дает, то ли около 90 столбцов.....словом запуталась. Буду очень-очень признательна (особенно мои глаза), если сможете помочь с макросом решающим мою проблему. Заранее спасибо! Файл с примером во вложении.
Доброго времени суток! Прошу помощи с написанием макроса (по возможности с расшифровкой). Работаю с файлом,в котором отображается информация об остатках товара (более 7000 позиций) на 30 и более торговых точках и их складах, сравниваю эти данные с продажами за определенный период. Для анализа мне необходимо визуально находить совокупные остатки торговой точки и ее склада, которые меньше, чем продажи этой же торговой точки. Пыталась создать правило условного форматирования, но ничего не вышло. Толи диапазон в 7000 строк не дает, то ли около 90 столбцов.....словом запуталась. Буду очень-очень признательна (особенно мои глаза), если сможете помочь с макросом решающим мою проблему. Заранее спасибо! Файл с примером во вложении.Delfato
Public Sub www() Dim i&, j&, n&, lr& lr = Cells(Rows.Count, 1).End(xlUp).Row For i = 3 To lr For j = 4 To 10 Step 2 If Cells(i, j).Value < Cells(i, j - 1).Value Then _ Cells(i, j - 1).Resize(, 2).Interior.ColorIndex = 3 Next Next End Sub
[/vba]
Для этого примера, как понял. [vba]
Код
Public Sub www() Dim i&, j&, n&, lr& lr = Cells(Rows.Count, 1).End(xlUp).Row For i = 3 To lr For j = 4 To 10 Step 2 If Cells(i, j).Value < Cells(i, j - 1).Value Then _ Cells(i, j - 1).Resize(, 2).Interior.ColorIndex = 3 Next Next End Sub
KukIP, спасибо большое. Это почти то, только он не совсем правильно считает, то есть, если мы меняем данные в остатках - делаем их больше , чем продажи той же точки, макрос все равно красит. А не должен.
И можете потом расписать, что каждая строчка в макросе делает (я учусь пока на примерах) А то я не смогу под весь рабочий файл его потом адаптировать.
KukIP, спасибо большое. Это почти то, только он не совсем правильно считает, то есть, если мы меняем данные в остатках - делаем их больше , чем продажи той же точки, макрос все равно красит. А не должен.
И можете потом расписать, что каждая строчка в макросе делает (я учусь пока на примерах) А то я не смогу под весь рабочий файл его потом адаптировать.Delfato
Сообщение отредактировал Delfato - Вторник, 31.03.2015, 13:24
Public Sub www() Dim i&, j&, n&, lr& lr = Cells(Rows.Count, 1).End(xlUp).Row For i = 4 To lr ' тут задается первая и последняя строка для обработки For j = 4 To 10 Step 2 ' задаются первый и последний столбцы и шаг(2) If Cells(i, j).Value < Cells(i, j - 1).Value Then ' дальше в цикле сравниваются значения и красятся ячейки. Cells(i, j - 1).Resize(, 2).Interior.ColorIndex = 3 Else Cells(i, j - 1).Resize(, 2).Interior.ColorIndex = Cells(1, j).Interior.ColorIndex End If Next Next End Sub
[/vba]
[vba]
Код
Public Sub www() Dim i&, j&, n&, lr& lr = Cells(Rows.Count, 1).End(xlUp).Row For i = 4 To lr ' тут задается первая и последняя строка для обработки For j = 4 To 10 Step 2 ' задаются первый и последний столбцы и шаг(2) If Cells(i, j).Value < Cells(i, j - 1).Value Then ' дальше в цикле сравниваются значения и красятся ячейки. Cells(i, j - 1).Resize(, 2).Interior.ColorIndex = 3 Else Cells(i, j - 1).Resize(, 2).Interior.ColorIndex = Cells(1, j).Interior.ColorIndex End If Next Next End Sub
KukIP, спасибо. Распишите пожалуйста обозначение / объяснение того, что делает каждая строчка в макросе, а то я не смогу без вашей подсказки вставить макрос в рабочий файл, и опробовать его там.
KukIP, спасибо. Распишите пожалуйста обозначение / объяснение того, что делает каждая строчка в макросе, а то я не смогу без вашей подсказки вставить макрос в рабочий файл, и опробовать его там.Delfato