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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка ячеек в зависимости от значения другой ячейки (Макросы/Sub)
Заливка ячеек в зависимости от значения другой ячейки
axelbeer69 Дата: Четверг, 16.02.2017, 17:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ребят помогите с такой проблемой. Есть вот такой код:
[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A1:T50")) Is Nothing Then
Call Макрос500
End If
End Sub
[/vba]
и собственно сам Макрос500:
[vba]
Код

Sub Макрос500()
If Application.WorksheetFunction.CountIf(Range("B7:С7"), "1000") > 0 Then
Range("D7:K7").Interior.ColorIndex = 6
Else
Range("D7:K7").Interior.ColorIndex = xlNone
End If
If Application.WorksheetFunction.CountIf(Range("B6:С6"), "1000") > 0 Then
Range("D6:K6").Interior.ColorIndex = 6
Else
Range("D6:K6").Interior.ColorIndex = xlNone
End If
If Application.WorksheetFunction.CountIf(Range("B5:С5"), "1000") > 0 Then
Range("D5:K5").Interior.ColorIndex = 6
Else
Range("D5:K5").Interior.ColorIndex = xlNone
End If

End Sub
[/vba]
То есть при изменении ячейки из указанного диапазона (A1:T50) запускается Макрос, который проверяет есть ли в диапазоне (B7:C7) число 1000, если есть то заливает диапазон (d7:K7) желтым цветом. В чем задача:
1. нужно, чтоб он как то сам определял в какой строке стоит число 1000 и в этой же строке заливал ячейки с D по K (потому что ячеек штук 50,думал вручную перечислить их все в коде но потом понял что это плохая идея)
2. и еще, если 1000 ввели в ячейку то диапазон окрашивается с D по K, если 500 то закрашивается с D по M, если 700 то с D по X.

Пример выложить не могу, там данные клиентов. Заранее благодарен за помощь.


Сообщение отредактировал axelbeer69 - Четверг, 16.02.2017, 19:40
 
Ответить
СообщениеРебят помогите с такой проблемой. Есть вот такой код:
[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A1:T50")) Is Nothing Then
Call Макрос500
End If
End Sub
[/vba]
и собственно сам Макрос500:
[vba]
Код

Sub Макрос500()
If Application.WorksheetFunction.CountIf(Range("B7:С7"), "1000") > 0 Then
Range("D7:K7").Interior.ColorIndex = 6
Else
Range("D7:K7").Interior.ColorIndex = xlNone
End If
If Application.WorksheetFunction.CountIf(Range("B6:С6"), "1000") > 0 Then
Range("D6:K6").Interior.ColorIndex = 6
Else
Range("D6:K6").Interior.ColorIndex = xlNone
End If
If Application.WorksheetFunction.CountIf(Range("B5:С5"), "1000") > 0 Then
Range("D5:K5").Interior.ColorIndex = 6
Else
Range("D5:K5").Interior.ColorIndex = xlNone
End If

End Sub
[/vba]
То есть при изменении ячейки из указанного диапазона (A1:T50) запускается Макрос, который проверяет есть ли в диапазоне (B7:C7) число 1000, если есть то заливает диапазон (d7:K7) желтым цветом. В чем задача:
1. нужно, чтоб он как то сам определял в какой строке стоит число 1000 и в этой же строке заливал ячейки с D по K (потому что ячеек штук 50,думал вручную перечислить их все в коде но потом понял что это плохая идея)
2. и еще, если 1000 ввели в ячейку то диапазон окрашивается с D по K, если 500 то закрашивается с D по M, если 700 то с D по X.

Пример выложить не могу, там данные клиентов. Заранее благодарен за помощь.

Автор - axelbeer69
Дата добавления - 16.02.2017 в 17:35
buchlotnik Дата: Четверг, 16.02.2017, 18:38 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2354
Репутация: 693 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
axelbeer69, а чем условное форматирование не устраивает? Да и в примере данные клиентов можно заменить на что угодно


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Четверг, 16.02.2017, 18:49
 
Ответить
Сообщениеaxelbeer69, а чем условное форматирование не устраивает? Да и в примере данные клиентов можно заменить на что угодно

Автор - buchlotnik
Дата добавления - 16.02.2017 в 18:38
axelbeer69 Дата: Четверг, 16.02.2017, 19:09 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, с УФ не получается создать сразу несколько условий для строки и не получается скопировать на остальные строки (а вручную это нереально долго). Да и по сути есть полуготовый макрос, ему только обьяснить надо чтоб закрашивал нужное количество ячеек в строках где эти цифры стоят. Пример прилагаю, 1 и 2 строки работают через макрос, хочется чтоб 3 и 4 работали по аналогии но не вручную
К сообщению приложен файл: 2825901.xlsm(17Kb)
 
Ответить
Сообщениеbuchlotnik, с УФ не получается создать сразу несколько условий для строки и не получается скопировать на остальные строки (а вручную это нереально долго). Да и по сути есть полуготовый макрос, ему только обьяснить надо чтоб закрашивал нужное количество ячеек в строках где эти цифры стоят. Пример прилагаю, 1 и 2 строки работают через макрос, хочется чтоб 3 и 4 работали по аналогии но не вручную

Автор - axelbeer69
Дата добавления - 16.02.2017 в 19:09
Pelena Дата: Четверг, 16.02.2017, 22:17 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 10646
Репутация: 2401 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Не уверена, что правильно поняла. Проверьте
К сообщению приложен файл: 0920233.xlsm(17Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеНе уверена, что правильно поняла. Проверьте

Автор - Pelena
Дата добавления - 16.02.2017 в 22:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка ячеек в зависимости от значения другой ячейки (Макросы/Sub)
Страница 1 из 11
Поиск:

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