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

Вход

Регистрация

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

 

= Мир MS Excel/Сумма ячеек по признаку - Мир MS Excel

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

Excel 2010
Здравствуйте, уважаемые! Помогите пожалуйста. Суть проблемы следующая: нужно сделать пользовательскую функцию которая будет проверять ячейки без заливки в столбце А. Например, ячейка А2 должна содержать верную сумму ячеек справа, диапазон B2:M2.Если сумма не верна, то ячейку А2 покрасить красным. Ячейки залитые серым пропускать. И если 5 ячеек, в столбце А, подряд не содержат значений то проверку не производить. Спасибо. Файл прикрепил
К сообщению приложен файл: 111l.xlsx (10.1 Kb)
 
Ответить
СообщениеЗдравствуйте, уважаемые! Помогите пожалуйста. Суть проблемы следующая: нужно сделать пользовательскую функцию которая будет проверять ячейки без заливки в столбце А. Например, ячейка А2 должна содержать верную сумму ячеек справа, диапазон B2:M2.Если сумма не верна, то ячейку А2 покрасить красным. Ячейки залитые серым пропускать. И если 5 ячеек, в столбце А, подряд не содержат значений то проверку не производить. Спасибо. Файл прикрепил

Автор - zaknafein
Дата добавления - 28.07.2015 в 13:55
Manyasha Дата: Вторник, 28.07.2015, 17:56 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
zaknafein, здравствуйте. На листе1 см. работу макроса (вызывается при изменении листа и его активации)[vba]
Код
Sub check()
     lr = Cells(Rows.Count, 1).End(xlUp).Row
     For i = 1 To lr
         If Cells(i, 1).Interior.Color <> 12632256 Then
             If Cells(i, 1) <> WorksheetFunction.Sum(Range("b" & i & ":m" & i)) Then
                 Range("a" & i & ":m" & i).Interior.Color = vbRed
             Else
                 Range("a" & i & ":m" & i).Interior.Pattern = xlNone
             End If
         End If
     Next i
End Sub
[/vba]
На листе УФ тоже самое, только при помощи условного форматирования (диапазоны вручную нужно менять)
К сообщению приложен файл: 111-1.xlsm (20.0 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеzaknafein, здравствуйте. На листе1 см. работу макроса (вызывается при изменении листа и его активации)[vba]
Код
Sub check()
     lr = Cells(Rows.Count, 1).End(xlUp).Row
     For i = 1 To lr
         If Cells(i, 1).Interior.Color <> 12632256 Then
             If Cells(i, 1) <> WorksheetFunction.Sum(Range("b" & i & ":m" & i)) Then
                 Range("a" & i & ":m" & i).Interior.Color = vbRed
             Else
                 Range("a" & i & ":m" & i).Interior.Pattern = xlNone
             End If
         End If
     Next i
End Sub
[/vba]
На листе УФ тоже самое, только при помощи условного форматирования (диапазоны вручную нужно менять)

Автор - Manyasha
Дата добавления - 28.07.2015 в 17:56
zaknafein Дата: Среда, 29.07.2015, 08:42 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, здравствуйте. Спасибо вам за помощь, но на боевом файле вообще не работает... хотя код я постарался адаптировать... красит ячейки не взирая на цвет и сумму...
[vba]
Код
lr = Cells(Rows.Count, 11).End(xlUp).Row
     For i = 1 To lr
         If Cells(i, 11).Interior.Color <> RGB(192, 192, 192) Then
             If Cells(i, 11) <> WorksheetFunction.Sum(Range("l" & i & ":w" & i)) Then
                 Range("k" & i & ":w" & i).Interior.Color = vbRed
             Else
                 Range("k" & i & ":w" & i).Interior.Pattern = xlNone
             End If
         End If
     Next i
[/vba]

в приложенном файле аналог. нужно смотреть столбец К, начиная с 16 ячейки и вниз. проверять сумму с l по w. Он мне красит и шапку и все на свете. Спасибо
К сообщению приложен файл: 222.xlsx (21.0 Kb)
 
Ответить
СообщениеManyasha, здравствуйте. Спасибо вам за помощь, но на боевом файле вообще не работает... хотя код я постарался адаптировать... красит ячейки не взирая на цвет и сумму...
[vba]
Код
lr = Cells(Rows.Count, 11).End(xlUp).Row
     For i = 1 To lr
         If Cells(i, 11).Interior.Color <> RGB(192, 192, 192) Then
             If Cells(i, 11) <> WorksheetFunction.Sum(Range("l" & i & ":w" & i)) Then
                 Range("k" & i & ":w" & i).Interior.Color = vbRed
             Else
                 Range("k" & i & ":w" & i).Interior.Pattern = xlNone
             End If
         End If
     Next i
[/vba]

в приложенном файле аналог. нужно смотреть столбец К, начиная с 16 ячейки и вниз. проверять сумму с l по w. Он мне красит и шапку и все на свете. Спасибо

Автор - zaknafein
Дата добавления - 29.07.2015 в 08:42
Manyasha Дата: Среда, 29.07.2015, 12:52 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
zaknafein, а Вы RGB как определяли? У меня пишет RGB(191, 191, 191), все правильно красит.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеzaknafein, а Вы RGB как определяли? У меня пишет RGB(191, 191, 191), все правильно красит.

Автор - Manyasha
Дата добавления - 29.07.2015 в 12:52
zaknafein Дата: Среда, 29.07.2015, 13:09 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, Боже мой, я действительно ошибся с цветом. Спасибо вам за помощь. Причем не понятно как так произошло, я смотрел в свойствах ячейки...
 
Ответить
СообщениеManyasha, Боже мой, я действительно ошибся с цветом. Спасибо вам за помощь. Причем не понятно как так произошло, я смотрел в свойствах ячейки...

Автор - zaknafein
Дата добавления - 29.07.2015 в 13:09
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сумма ячеек по признаку (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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