Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как подсчитать ячейки с определенным текстом и цветом заливки/шрифта в Excel?

Author Siluvia Last modified

Возможно, вам легко подсчитать количество ячеек, содержащих только одно условие, например, подсчитать все ячейки с определенным текстом или цветом шрифта/заливки. Однако знаете ли вы, как подсчитать ячейки с несколькими условиями? Например, подсчитать количество ячеек, содержащих как определенный текст, так и цвет шрифта/заливки. В этой статье мы покажем вам решение.

Подсчет ячеек с определенным текстом и цветом заливки с помощью кода VBA
Подсчет ячеек с определенным текстом и цветом шрифта с помощью кода VBA


Подсчет ячеек с определенным текстом и цветом заливки с помощью кода VBA

Предположим, у вас есть таблица, как показано на скриншоте ниже, для подсчета ячеек в столбце B на основе текста и цвета заливки ячейки E2, пожалуйста, примените следующий код VBA.

count cells by fill color

1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. В окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль, затем скопируйте приведенный ниже код VBA в окно Модуля.

Код VBA: Подсчет ячеек с определенным текстом и цветом заливки

Sub CountFillColorValue()
'Update by Extendoffice 20180702
    Dim I As Long
    Dim xNum As Long
    Dim Rows As Long
    Dim xRgD As Range
    Dim xRg, xRgS As Range
    On Error Resume Next
    Set xRg = Range("B2:B9")
    Set xRgS = Range("E2")
    Set xRgD = Application.InputBox("Please select a cell:", "KuTools for Excel", Selection.Address, , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xRows = xRg.Rows.Count
    Set xRg = xRg(1)
    xNum = 0
    For I = 1 To xRows
        If xRg.Offset(I - 1, 0).Interior.ColorIndex = xRgS.Interior.ColorIndex Then
            If xRg.Offset(I - 1, 0).Value = xRgS.Value Then
                xNum = xNum + 1
            End If
        End If
    Next
    xRgD = xNum
End Sub

Примечание: В коде B2:B9 — это диапазон, внутри которого вы будете подсчитывать ячейки, E2 содержит текст и цвет заливки, на основе которых вы будете подсчитывать ячейки. Вы можете изменить их по своему усмотрению.

3. Нажмите клавишу F5, чтобы запустить код, затем появится диалоговое окно Kutools for Excel, пожалуйста, выберите ячейку для размещения результата, а затем нажмите кнопку ОК. См. скриншот:

vba code to select a cell to put the result

Затем результат подсчета сразу отобразится в выбранной ячейке.

he count result is showing in the cell

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Подсчет ячеек с определенным текстом и цветом шрифта с помощью кода VBA

Для подсчета ячеек в диапазоне B2:B9 на основе текста и цвета шрифта ячейки E2 выполните следующие действия.

count cells by font color

1. Откройте окно Microsoft Visual Basic for Applications, нажав клавиши Alt + F11.

2. В окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль, затем скопируйте приведенный ниже код VBA в окно Модуля.

Код VBA: Подсчет ячеек с определенным текстом и цветом шрифта

Sub CountFontColorValue()
'Update by Extendoffice 20180702
    Dim I As Long
    Dim xNum As Long
    Dim xRows As Long
    Dim xRgD As Range
    Dim xRg, xRgS As Range
    On Error Resume Next
    Set xRg = Range("B2:B9")
    Set xRgS = Range("E2")
    Set xRgD = Application.InputBox("Please select a cell:", "KuTools for Excel", Selection.Address, , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xRows = xRg.Rows.Count
    Set xRg = xRg(1)
    xNum = 0
    For I = 1 To xRows
        If xRg.Offset(I - 1, 0).Font.ColorIndex = xRgS.Font.ColorIndex Then
            If xRg.Offset(I - 1, 0).Value = xRgS.Value Then
                xNum = xNum + 1
            End If
        End If
    Next
    xRgD = xNum
End Sub

Примечание: В коде B2:B9 — это диапазон, внутри которого вы будете подсчитывать ячейки, E2 — это критерии, на основе которых вы будете подсчитывать ячейки. Вы можете изменить их по мере необходимости.

3. Нажмите клавишу F5, чтобы запустить код, затем появится диалоговое окно Kutools for Excel, пожалуйста, выберите ячейку для размещения результата, а затем нажмите кнопку ОК. См. скриншот:

vba code to select a cell to put the result

Вы получите результат, как показано на скриншоте ниже:

get the result of specific font color


Связанные статьи:

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
  • Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек