Автор Тема: Excel VBA Макросы. Подсчитать количество цветов в столбце.  (Прочитано 447 раз)

Оффлайн Few

  • Посетитель форума
  • Сообщений: 10
В столбце A, начиная со строки 2, закрашиваются ячейки в разные цвета.
Как подсчитать, сколько цветов используется? Один и тот же цвет может быть несколько раз, нужно учесть только одно вхождение цвета.
В столбце могут быть незакрашенные ячейки - незакрашенные ячейки не надо подсчитывать.
В столбце A есть данные, поэтому последнюю строку можно искать по последней строке, в которой есть данные.

Оффлайн Администратор

  • Administrator
  • Сообщений: 1952
Макрос
Sub Макрос()
   
    Dim Цвета As Collection
    Dim lr As Long, i As Long
   
   
    ' Поиск последней заполненной строки в столбце A.
        ' End не ищет в скрытых строках.
    lr = Cells(Rows.Count, "A").End(xlUp).Row
   
    ' Подсчёт цветов.
    Set Цвета = New Collection
    On Error Resume Next
    For i = 2 To lr
        If Cells(i, "A").Interior.Pattern <> xlNone Then
            Цвета.Add Key:=CStr(Cells(i, "A").Interior.Color), Item:=""
        End If
    Next i
    On Error GoTo 0
   
    ' Вывод результата в View - Immediate Window.
    Debug.Print Цвета.Count

End Sub

Оффлайн Few

  • Посетитель форума
  • Сообщений: 10