В данном обзоре представлены методы извлечения текста с различными форматами из ячейки Excel с помощью пользовательской функции.
Рассмотренный подход позволяет точно выбирать текст в зависимости от его стиля: курсива, подчеркивания, жирности и цвета 😉.
📢 Файл с примером размещен в конце статьи 🔽
▶️ Пример пользовательской функции
Для того, чтобы выделить жирный текст из ячейки можно использовать следующую функцию:
🔷 Как это работает
🔘 fromthis As Range: Параметр, представляющий диапазон ячеек, из которого будет извлечен жирный текст.
🔘 Получение длины текста: Используем функцию Len для определения количества символов в строке.
🔘 Итерация по символам:
- Цикл For i = 1 To size гарантирует, что каждый символ в строке будет проверен.
- Объект Characters позволяет получить доступ к конкретным символам в строке.
- Используем Mid для получения каждого символа в строке поочередно.
🔘 Проверка жирного шрифта:
- Используем свойство Bold для проверки, является ли шрифт символа жирным. fromthis.Characters(i, 1).Font.Bold проверяет, является ли шрифт текущего символа жирным.
🔘 Извлечение символов: если символ жирный, он добавляется к output с помощью Mid(fromthis.Value, i, 1).
🔘 Результат: функция выделяет и возвращает текст, который форматирован как жирный, из заданного диапазона ячеек:
Метод позволяет извлекать жирный текст из ячейки, учитывая все символы и их форматирование.
▶️ Возможности форматирования текста
В Excel, помимо жирного шрифта, существуют другие способы форматирования текста, такие как курсив, подчеркнутый текст, цвет шрифта и т. д.
Расширить функцию для обработки различных типов форматирования можно установив нужное свойство Font:
▶️ Обобщенная функция для выбора различных форматов
Чтобы сделать функцию более гибкой, можно использовать параметр для указания типа форматирования, который нужно извлечь:
Например,
▶️ Объяснение ключевых моментов
Использование различных свойств объекта Font позволяет гибко извлекать текст с различными форматами, такими как жирный, курсивный, подчеркнутый текст или текст определенного цвета.
🔘 Итерация по символам:
- Цикл For i = 1 To size проходит через каждый символ в строке от 1 до size.
- Mid(fromthis.Value, i, 1) извлекает текущий символ из строки.
🔘 Проверка форматирования:
В зависимости от значения аргумента formatType используется соответствующее свойство Font для проверки форматирования:
- Italic для курсива.
- Underline для подчеркнутого текста.
- Bold для жирного текста.
- Color для проверки цвета текста (красный, синий, зеленый).
🔘 Добавление символов к результату: Если текущий символ соответствует заданному формату, он добавляется к строке output.
🔘 Результат: функция принимает числовой аргумент для определения типа форматирования возвращая текст соответствующий указанному формату:
Этот метод позволяет гибко извлекать текст с различными форматами из ячейки, используя числовой код для указания типа форматирования.
😎 Примечание автора: в данной функции мы проверяем свойство Font.Underline на значение, отличное от xlUnderlineStyleNone. Это означает, что любой тип подчеркивания (одинарное, двойное и т.д.) будет считаться действительным.
🔶 Узнать о других способах и приемах форматирования и работы с текстом в Excel можно найти в наших предыдущих обзорах 🔽
🙌 Оставайся с нами на связи и узнавай больше о других методах и приемах работы в Excel:
✅ СКАЧАТЬ ПРИМЕР 🔽