powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Цвет строки в Excel
9 сообщений из 9, страница 1 из 1
Цвет строки в Excel
    #35872035
Victor_ght
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, есть файлик в excel. В одном из столбцов содержатся данные 1, 2, 3, 4, 5...10.
Нужно в зависимости от значения этой ячейки закрасить всю строку цветом, а после того как на листе все окрашено - удалить(или скрыть) столбец с данными 1, 2, 3, 4, 5...10
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35872646
Фотография W_I_N_T_E_R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) "...в зависимости от значения этой ячейки закрасить всю строку цветом..." Формат => Условное форматирование...
2) "...удалить (или скрыть) столбец с данными..." Автофильтр
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35873192
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если колонка A рабочая, и при этом одна строчка над первой ячейкой с данными отводится под заголовок, то можно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub test()
With ActiveSheet
  .Columns("A:A").AutoFit
  If .AutoFilterMode Then .AutoFilterMode = False
  For I =  1  To  10 
    .Range("A:A").AutoFilter Field:= 1 , Criteria1:=I, VisibleDropDown:=False
    Set WorkR = Intersect(.AutoFilter.Range.SpecialCells(xlCellTypeVisible), _
      .Range("A" & .AutoFilter.Range.Row +  1  & ":A" & .Rows.Count))
    If Not WorkR Is Nothing Then
      WorkR.EntireRow.Interior.ColorIndex = I
    End If
  Next I
  If .AutoFilterMode Then .AutoFilterMode = False
  .Columns("A:A").Hidden = True
End With
End Sub
Если много не подряд идущих областей с одной цифрой (список адресов более ~4000 символов), то могут быть проблемы.
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35873760
Victor_ght
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное!
Еще 2 вопроса -
1) в случае если ячейка, в которой содержаться данные от 1 до 10. может быть обьединенная, a далее в строке она разделяется, например на 2 части, можно ли как-то закрасить обе?
2) А как-то можно присвоить свой цвет каждому значению от 1 до 10?
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35873885
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor_ght,

1. MergeCells и MergeArea
2. VBA.ColorConstants. Тут правда не от 1 до 10, но думаю, что разберетесь.
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35874538
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот вариант с объединенными ячейками.
Вместо цифр 1,2...10 подставить коды нужных цветов
Интересный баг Екселя всплыл, пока не отключишь фильтр, не ставит цвет в объединенной строке
Код: plaintext
1.
      If .AutoFilterMode Then .AutoFilterMode = False
      WorkR1.Interior.ColorIndex = I

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Sub test2()
With ActiveSheet
  .Columns("A:A").AutoFit
  If .AutoFilterMode Then .AutoFilterMode = False
  For I =  1  To  10 
    .Range("A:A").AutoFilter Field:= 1 , Criteria1:=I, VisibleDropDown:=False
    Set WorkR = Intersect(.AutoFilter.Range.SpecialCells(xlCellTypeVisible), _
      .Range("A" & .AutoFilter.Range.Row +  1  & ":A" & .Rows.Count))
    Set WorkR1 = WorkR.EntireRow
    If Not WorkR Is Nothing Then
'      WorkR.EntireRow.Interior.ColorIndex = I
      
      Wcolor = WorksheetFunction.Choose(I,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ,  8 ,  9 ,  10 )
      For Each sAr In WorkR.Areas
        For Each Rng In sAr
          If Rng.MergeCells Then Set WorkR1 = Union(WorkR1, Rng.MergeArea.EntireRow)
        Next Rng
      Next sAr
      If .AutoFilterMode Then .AutoFilterMode = False
      WorkR1.Interior.ColorIndex = I

    End If
  Next I
  If .AutoFilterMode Then .AutoFilterMode = False
  .Columns("A:A").Hidden = True
End With
End Sub
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35874551
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
описку дал, вместо
Код: plaintext
WorkR1.Interior.ColorIndex = I
надо
Код: plaintext
WorkR1.Interior.ColorIndex = Wcolor
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35874969
Victor_ght
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей, еще раз спасибо Вам огромное!
В данном варианте я разобраться не смог, почему-то он не отрабатывает.
Если не трудно, посмотрите пример.
...
Рейтинг: 0 / 0
Цвет строки в Excel
    #35875621
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
строку Set WorkR1 = WorkR.EntireRow
надо после if поставить. виноват, не протестировал:)
Код: plaintext
1.
    If Not WorkR Is Nothing Then
      Set WorkR1 = WorkR.EntireRow
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Цвет строки в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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