Как выделить отрицательные числа в ячейках? Напишем процедуру для выделения ячеек в Excel.
Пример из скриншота ниже иллюстрирует выделение ячеек на основе их содержимого. Интересно, что в программе Excel отсутствует стандартный метод для выполнения этой операции. Однако, существует эффективное решение этой проблемы - использование процедуры которую мы назовём "ВыборПоЗначению". Этот скрипт выделяет ячейки с отрицательными значениями, хотя поведение кода можно настроить под свои нужды.
📌 Кстати скачать файл пример с макросом можно в конце статьи.
Процедура начинается с проверки выделенной области. Если выделена только одна ячейка, поиск выполняется во всей активной книге. Если включено две или более ячеек, поиск производится только в выделенном диапазоне. Затем проводится фильтрация диапазона только на числовые ячейки. В процессе обхода ячеек проверяется их значение, и при нахождении отрицательного числа они добавляются в объект НайденныеЯчейки. По завершении поиска, если найденные ячейки отсутствуют, выводится сообщение об этом, иначе найденные ячейки выделяются, а также выводится сообщение с количеством найденных ячеек.
Метод Union используется для объединения диапазонов ячеек в Excel. Этот метод позволяет объединить несколько диапазонов ячеек в один большой диапазон. Например, если у вас есть несколько диапазонов с данными, и вы хотите выполнить одну и ту же операцию над ними, вы можете использовать этот метод для создания одного общего диапазона и применить операцию к этому объединенному диапазону.
В нашей процедуре метод Union добавляет каждую найденную ячейку в общий диапазон, который затем выделяет (или обрабатывает в соответствии с задачей).
Иными словами, этот код позволяет довольно эффективно идентифицировать и работать с ячейками, удовлетворяющими определенным критериям в Excel.
Вопрос. Если в любой ячейке, не относящейся к диапазону "РабочийДиапазон" вы введете число, то тогда выйдет сообщение "Ячейки не найдены." Почему?
А потому, что после фильтрации диапазона на числовые ячейки с помощью метода SpecialCells, если вне этого диапазона будет введено число, программа не сможет найти его в указанном диапазоне и выведет соответствующее сообщение.
Это происходит потому, что скрипт ищет только числовые значения в пределах РабочийДиапазон и, если вы введете число за пределами этого диапазона, оно не будет найдено в результате поиска и программа выдаст сообщение о том, что ячейки не были найдены. Возьмите на заметку.