powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Анализ наличия цветового выделения ячейки...
15 сообщений из 15, страница 1 из 1
Анализ наличия цветового выделения ячейки...
    #35130766
АЛХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые All!
Помогите пожалуйста с макросом.

Задача:
Есть таблица размера N столбцов на M строк
Необходимо, чтоб в результате анализа каждой строки, в столбце N+1, появился занак "+", если хотя бы одна ячейка в строке имела цвет отличный от "без заливки"

Заранее благодарен
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35131185
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что именно не получается ?
Ключевой момент — проверка условия ActiveCell.Interior.ColorIndex= xlColorIndexNone .
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35131271
АЛХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И что именно не получается ?

Я не программист :red:
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35131476
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так прикольно, сразу всю строку смотрит и не нужно ячейки перебирать
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test()
Dim myRng As Range, iRow As Range
Set myRng = Range("A1:H10")
For Each iRow In myRng.Rows
 If iRow.Interior.ColorIndex = xlColorIndexNone Then Else iRow.Resize(,  1 ).Offset(, iRow.Columns.Count) = "+"
Next iRow
End Sub
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35131762
LETME
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadВот так прикольно, сразу всю строку смотрит и не нужно ячейки перебирать
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test()
Dim myRng As Range, iRow As Range
Set myRng = Range("A1:H10")
For Each iRow In myRng.Rows
 If iRow.Interior.ColorIndex = xlColorIndexNone Then Else iRow.Resize(,  1 ).Offset(, iRow.Columns.Count) = "+"
Next iRow
End Sub

Небольшие уточнения - ...ведь не всю строку, а диапазон... и ячейки в нем именно перебирает...
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35132344
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LETME DeggasadВот так прикольно, сразу всю строку смотрит и не нужно ячейки перебирать
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test()
Dim myRng As Range, iRow As Range
Set myRng = Range("A1:H10")
 For Each iRow In myRng.Rows ' Цикл по строкам диапазона, но не по ячекам строки
 If iRow.Interior.ColorIndex = xlColorIndexNone Then Else iRow.Resize(,  1 ).Offset(, iRow.Columns.Count) = "+"
Next iRow
End Sub

Небольшие уточнения - ...ведь не всю строку, а диапазон... и ячейки в нем именно перебирает...
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35132372
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь прикол в это строке
Код: plaintext
 If iRow.Interior.ColorIndex = xlColorIndexNone Then Else iRow.Resize(,  1 ).Offset(, iRow.Columns.Count) = "+"
Ничего странного не замечаешь
попробуй написать её как нибуть по другому и результат не получится
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35132792
АЛХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё отлично, только одна проблемка.
Макрос неадекватно реагирует на наличие формулы в ячейке, а именно если в строке присутствует формула, то он лепит плюсик в конце, хотя ни одна ячейка при этом в строке не закрашена
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35133216
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АЛХВсё отлично, только одна проблемка.
Макрос неадекватно реагирует на наличие формулы в ячейке, а именно если в строке присутствует формула, то он лепит плюсик в конце, хотя ни одна ячейка при этом в строке не закрашена
Это вряд ли
Хочешь сам ищи ошибку, хочешь выложи файл - мы посмотрим
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35133368
АЛХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...выложи файл - мы посмотрим

выкладываю =)
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35133990
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АЛХ ...выложи файл - мы посмотрим

выкладываю =)

Я выделил диапазон и нажал ещё раз убрать заливку, после этого всё заработало
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35134157
АЛХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я выделил диапазон и нажал ещё раз убрать заливку, после этого всё заработало
Т.е. были ячейки, в которых была белая заливка =(
А нельзя ли было добавить условие на исключение наличия белого цвета =/
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35134165
АЛХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я выделил диапазон и нажал ещё раз убрать заливку, после этого всё заработало

Т.е. получается что где-то в ячейке присутствовал цвет заливки =/ Наверное белый...
А нельзя ли добавить в макрос условие, на исключение белого цвета, и чтоб только тогда рисовался плюсик.

Спасибо, заранее.
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35134294
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно придётся перебором
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub test()
Dim myRng As Range, iRow As Range, iCel As Range, flag As Boolean
Set myRng = Range("A1:B14")
For Each iRow In myRng.Rows
 flag = False
 For Each iCel In iRow.Cells
  If iCel.Interior.ColorIndex <> xlNone And iCel.Interior.ColorIndex <>  2  Then flag = True
 Next iCel
 If flag Then iRow.Resize(,  1 ).Offset(, iRow.Columns.Count) = "+"
Next iRow
End Sub
...
Рейтинг: 0 / 0
Анализ наличия цветового выделения ячейки...
    #35135295
АЛХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УРА! Спасибо!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Анализ наличия цветового выделения ячейки...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]