Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заливка взамен значения в макросе - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка взамен значения в макросе (Макросы/Sub)
Заливка взамен значения в макросе
denstyle Дата: Пятница, 07.04.2017, 20:06 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Сделали макросы, но требуется переделать/доработать, рад буду любой помощи. К делу... Опишу макросы в файле: 1) "новый замер" - копирует форму таблицы для ввода новых данных; 2) "сравнение" - сравнивает по условиям столбцы и выдает результат. Как бы хотелось видеть:
1) в формулах сравнения изменить "+" на заливку зеленым цветом, "-" на заливку желтым цветом, "2-" - на заливку оранжевым цветом, "3-" - на заливку красным цветом;
К сообщению приложен файл: _-_-.xlsm (26.1 Kb)


С уважнием, Денис.

Сообщение отредактировал denstyle - Суббота, 08.04.2017, 09:34
 
Ответить
СообщениеЗдравствуйте! Сделали макросы, но требуется переделать/доработать, рад буду любой помощи. К делу... Опишу макросы в файле: 1) "новый замер" - копирует форму таблицы для ввода новых данных; 2) "сравнение" - сравнивает по условиям столбцы и выдает результат. Как бы хотелось видеть:
1) в формулах сравнения изменить "+" на заливку зеленым цветом, "-" на заливку желтым цветом, "2-" - на заливку оранжевым цветом, "3-" - на заливку красным цветом;

Автор - denstyle
Дата добавления - 07.04.2017 в 20:06
SLAVICK Дата: Пятница, 07.04.2017, 22:34 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Читаем правила форума.
Меняем название темы "Переделывание/дополнение макроса" - на правильное, отображающее суть проблемы.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеЧитаем правила форума.
Меняем название темы "Переделывание/дополнение макроса" - на правильное, отображающее суть проблемы.

Автор - SLAVICK
Дата добавления - 07.04.2017 в 22:34
denstyle Дата: Пятница, 07.04.2017, 22:41 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, всегда было трудно с сочинениями)) так корректно "Замена СУММА на ЕСЛИ, и автопроставление даты в макросе"?


С уважнием, Денис.
 
Ответить
СообщениеSLAVICK, всегда было трудно с сочинениями)) так корректно "Замена СУММА на ЕСЛИ, и автопроставление даты в макросе"?

Автор - denstyle
Дата добавления - 07.04.2017 в 22:41
Manyasha Дата: Суббота, 08.04.2017, 13:03 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
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
[/vba]

изменить "+" на заливку зеленым цветом

не изменила, а добавила, если сам + не нужен, надо удалить строчки Cells(i, pk) = "+" и т.д.
Не увидела в Вашем макросе "-", если появится, то для него строчка с установкой цвета может быть такой:
[vba]
Код
Cells(i, pk).Interior.Color = vbYellow
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение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
[/vba]

изменить "+" на заливку зеленым цветом

не изменила, а добавила, если сам + не нужен, надо удалить строчки Cells(i, pk) = "+" и т.д.
Не увидела в Вашем макросе "-", если появится, то для него строчка с установкой цвета может быть такой:
[vba]
Код
Cells(i, pk).Interior.Color = vbYellow
[/vba]

Автор - Manyasha
Дата добавления - 08.04.2017 в 13:03
denstyle Дата: Воскресенье, 09.04.2017, 20:04 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, да так, спасибо! только есть нюанс, когда используем макрос "новый замер" он копирует форму, и там же появляется заливка предыдущего замера, есть ли возможность очищать ячейку от заливки?


С уважнием, Денис.
 
Ответить
СообщениеManyasha, да так, спасибо! только есть нюанс, когда используем макрос "новый замер" он копирует форму, и там же появляется заливка предыдущего замера, есть ли возможность очищать ячейку от заливки?

Автор - denstyle
Дата добавления - 09.04.2017 в 20:04
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка взамен значения в макросе (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!