Подсветка лишних пробелов
Предположим, что мы создали форму для ввода данных пользователем – например, такую:
При вводе всегда есть вероятность некорректного ввода информации, "человеческий фактор". Один из вариантов его проявления– лишние пробелы. Кто-то ставит их случайно, кто-то – намеренно, но, в любом случае, даже один лишний пробел будет представлять для вас проблему в дальнейшем при обработке введенной информации. Дополнительная "прелесть" в том, что их еще и не видно, хотя, если очень хочется, то можно сделать видимыми с помощью макроса.
Безусловно, можно и нужно "причесывать" информацию после ввода с помощью специальных функций или макросов. А можно подсвечивать некорректно введенные данные прямо в процессе заполнения формы, оперативно сигнализируя об ошибке пользователю. Для этого:
- Выделите поля ввода, где нужна проверка на лишние пробелы (желтые ячейки в нашем примере).
- Выберите на Главной вкладке команду Условное форматирование – Создать правило (Home – Conditional Formatting - Create Rule).
- Выберите тип правила Использовать формулу для определения форматируемых ячеек (Use formula to determine which cells to format) и введите в поле следующую формулу:
где D4 – адрес текущей ячейки (без знаков "$").
В английской версии это будет, соответственно =G4<>TRIM(G4)
Функция СЖПРОБЕЛЫ (TRIM) убирает из текста лишние пробелы. Если оригинальное содержимое текущей ячейки не равно "причесанному" с помощью функции СЖПРОБЕЛЫ, значит в ячейке есть лишние пробелы. Тогда происходит заливка поля ввода цветом, который можно выбрать, нажав на кнопку Формат (Format).
Теперь при забивании лишних пробелов "для красоты" наши поля ввода будут подсвечиваться красным, намекая пользователю, что он не прав:
Вот такой простой, но приятный трюк, который я использовал в много раз в своих проектах. Надеюсь, что пригодится и вам :)
Про существующие возможности обработки лишних пробелов с помощью надстройки (удалить, показать) знаю.
Хочется именно подсветки, так же как подсвечиваются латинские буквы.
Это возможно?
Добавлю в следующем обновлении, спасибо за идею
СЖПРОБЕЛЫ убирает не просто двойные пробелы, а еще и лишние одиночные - в начале и в конце текста.
Например, у меня большой массив данных, где связями из других таблиц вставлены значения. Я хочу вставить/удалить столбцы, но моя таблица "поедет" в случае использования относительных ссылок.
А тут я на раз-два узнаю, в каком месте у меня связь с относительной ссылкой и заменю ее на абсолютную.