Здравствуйте! Сделали макросы, но требуется переделать/доработать, рад буду любой помощи. К делу... Опишу макросы в файле: 1) "новый замер" - копирует форму таблицы для ввода новых данных; 2) "сравнение" - сравнивает по условиям столбцы и выдает результат. Как бы хотелось видеть: 1) в формулах сравнения изменить "+" на заливку зеленым цветом, "-" на заливку желтым цветом, "2-" - на заливку оранжевым цветом, "3-" - на заливку красным цветом;
Здравствуйте! Сделали макросы, но требуется переделать/доработать, рад буду любой помощи. К делу... Опишу макросы в файле: 1) "новый замер" - копирует форму таблицы для ввода новых данных; 2) "сравнение" - сравнивает по условиям столбцы и выдает результат. Как бы хотелось видеть: 1) в формулах сравнения изменить "+" на заливку зеленым цветом, "-" на заливку желтым цветом, "2-" - на заливку оранжевым цветом, "3-" - на заливку красным цветом;denstyle
не изменила, а добавила, если сам + не нужен, надо удалить строчки Cells(i, pk) = "+" и т.д. Не увидела в Вашем макросе "-", если появится, то для него строчка с установкой цвета может быть такой: [vba]
Код
Cells(i, pk).Interior.Color = vbYellow
[/vba]
denstyle, так хотите? [vba]
Код
Sub Сравнение() pk = Cells(4, Columns.Count).End(xlToLeft).Column If pk < 15 Then Exit Sub For i = 5 To Cells(Rows.Count, pk - 1).End(xlUp).Row If Cells(i, pk - 5) = "+" And Cells(i, pk - 8) <= Cells(i, pk - 13) And Cells(i, pk - 3) <= Cells(i, pk - 8) And Cells(i, pk - 7) <= Cells(i, pk - 12) And Cells(i, pk - 2) <= Cells(i, pk - 7) And Cells(i, pk - 6) >= Cells(i, pk - 11) And Cells(i, pk - 1) >= Cells(i, pk - 6) Then Cells(i, pk) = "+" Cells(i, pk).Interior.Color = 5296274 End If
If Cells(i, pk - 5) = "-" And Cells(i, pk - 8) <= Cells(i, pk - 13) And Cells(i, pk - 3) <= Cells(i, pk - 8) And Cells(i, pk - 7) <= Cells(i, pk - 12) And Cells(i, pk - 2) <= Cells(i, pk - 7) And Cells(i, pk - 6) >= Cells(i, pk - 11) And Cells(i, pk - 1) >= Cells(i, pk - 6) Then Cells(i, pk) = "2-" Cells(i, pk).Interior.Color = 49407 End If
If Cells(i, pk - 5) = "2-" And Cells(i, pk - 8) <= Cells(i, pk - 13) And Cells(i, pk - 3) <= Cells(i, pk - 8) And Cells(i, pk - 7) <= Cells(i, pk - 12) And Cells(i, pk - 2) <= Cells(i, pk - 7) And Cells(i, pk - 6) >= Cells(i, pk - 11) And Cells(i, pk - 1) >= Cells(i, pk - 6) Then Cells(i, pk) = "3-" Cells(i, pk).Interior.Color = vbRed End If
If Cells(i, pk - 5) = "3-" And Cells(i, pk - 8) <= Cells(i, pk - 13) And Cells(i, pk - 3) <= Cells(i, pk - 8) And Cells(i, pk - 7) <= Cells(i, pk - 12) And Cells(i, pk - 2) <= Cells(i, pk - 7) And Cells(i, pk - 6) >= Cells(i, pk - 11) And Cells(i, pk - 1) >= Cells(i, pk - 6) Then Cells(i, pk) = "3-" Cells(i, pk).Interior.Color = vbRed End If
If Cells(i, pk - 8) = Cells(i, pk - 13) And Cells(i, pk - 3) = Cells(i, pk - 8) And Cells(i, pk - 7) = Cells(i, pk - 12) And Cells(i, pk - 2) = Cells(i, pk - 7) And Cells(i, pk - 6) = Cells(i, pk - 11) And Cells(i, pk - 1) = Cells(i, pk - 6) Then Cells(i, pk) = "+" Cells(i, pk).Interior.Color = 5296274 End If Next End Sub
не изменила, а добавила, если сам + не нужен, надо удалить строчки Cells(i, pk) = "+" и т.д. Не увидела в Вашем макросе "-", если появится, то для него строчка с установкой цвета может быть такой: [vba]
Manyasha, да так, спасибо! только есть нюанс, когда используем макрос "новый замер" он копирует форму, и там же появляется заливка предыдущего замера, есть ли возможность очищать ячейку от заливки?
Manyasha, да так, спасибо! только есть нюанс, когда используем макрос "новый замер" он копирует форму, и там же появляется заливка предыдущего замера, есть ли возможность очищать ячейку от заливки?denstyle