Найти в Дзене
Макрос решает

Полный обзор: программирование форматирования шрифта и чисел в Excel. Свойства Range NumberFormat, Font Bold, Italic, Underline

Одним из важнейших свойств объекта Range является NumberFormat, который определяет формат объекта. Все наши ячейки на данный момент имеют общий формат. Это значит, что они не имеют каких-либо лишних элементов форматирования, таких как денежные единицы или знаков после запятой.

В любом случае, если вы ещё не совсем разбираетесь в языке программирования, вы можете поменять формат ячейки, щёлкнув на данную иконку, которая находится в углу блока форматирования. В выпадающем окне вы можете выбрать любой доступный для вас формат: общий, числовой, денежный. Вы также можете увидеть, как выглядит способ форматирования, щёлкнув по кнопке Все форматы.

Итак, давайте с помощью макроса перейдём от общего формата к числовому с двумя знаками после запятой. Для начала посмотрим, как выглядит этот код. Это форматирование: выбираем формат числовой, нас интересует число десятичных знаков — 2. Возвращаемся в Все форматы, и код нашего формата выглядит как "0.00".

Переходим во вкладку Разработчик, открываем редактор Visual Basic, создаём новую процедуру и назовём её MyFormat. Так как мы хотим исправить форматирование в диапазоне A1:C6, наш код будет касаться этого диапазона. После знака равно нам необходимо задать код форматирования, например, "0.00%".

  • Sub myFormat()
    Range("a1:c6").NumberFormat = "0.00%"
    End Sub

Запускаем Run Macro, и видим, что у нас получилось: 2000,00% причём у нас стоит ещё два знака после запятой. Неплохо для начала.

-3

Убираем процент, ещё раз запускаем, и теперь наши значения имеют два знака после запятой.

  • Sub myFormat()
    Range("a1:c6").NumberFormat = "0.00"
    End Sub
-4

Если вы, например, хотите изменить не два, а три знака после запятой, нам нужно добавить ещё один нолик.

  • Sub myFormat()
    Range("a1:c6").NumberFormat = "0.000"
    End Sub
-5

Вот так вот просто и работает данное свойство NumberFormat.

Свойство Range Font Bold, Italic, Underline.

Продолжим изучение форматирования. Покажу вам, как использовать одну очень популярную команду для диапазона, которая называется Font. Она определяет свойства шрифта. Не все о ней знают, но вы о ней знать будете — это точно. Я собираюсь вам показать три из них: жирный, курсив и нижнее подчёркивание. Все они находятся во вкладке Главное в блоке Шрифт. Учитывая то, что они находятся на главной вкладке, можете себе представить, как часто используются данные команды.

-6

Итак, я собираюсь показать, как это работает. Запускаем Visual Basic, создаём новую процедуру, назовём её MyFonts, и традиционно я хочу изменять или работать в диапазоне A1:С6. Жмём точку, выбираем команду Font, ещё раз точку, и я хочу, чтобы у нас диапазон A1:C6 был выделен жирным. Он называется Bold.

  • Sub myFont()
    Range("a1:c6").Font.Bold
    End Sub

Давайте попробуем запустить его. Думаете, будет работать? Посмотрим.

-7

Ошибка: неправильное использование свойств. То, что свойство Bold принимает логическое значение, означает, что оно может быть либо истиной, либо ложью. Так что, если мы хотим, чтобы шрифт нашего диапазона был жирным, нам нужно приравнять значение Bold к True, или, другими словами, задать аргумент True.

  • Sub myFont()
    Range("a1:c6").Font.Bold = 1
    End Sub
-8

Давайте это сделаем. Жмём Run Macro, и все наши ячейки выделились жирным. Так что, если мы, например, хотим, чтобы наш шрифт был выделен курсивом, код не сильно отличается. Также записываем Range A1:C6, Font, и команда, которая выделяет курсивом, называется Italic. Также приравниваем к True, запускаем, жмём Run Macro, и наш диапазон выделился курсивом. Отлично!

  • Sub myFont()
    Range("a1:c6").Font.Bold = 1
    Range("a1:c6").Font.Italic = 1
    End Sub
-9

Давайте теперь сделаем кое-что другое. Я хочу выделить нижним подчёркиванием значения ячеек C1:C3. Добавим ещё один код: Range C1:C3 Font и Underline. Свойство нижнего подчёркивания называется Underline, и также приравниваем к True или Истина.

  • Sub myFont()
    Range("a1:c6").Font.Bold = 1
    Range("a1:c6").Font.Italic = 1
    Range("c1:c3").Font.Underline = 1
    End Sub
-10

Запускаем наш код. Теперь все у нас ячейки — все три ячейки — у нас подчёркнуты. Всё это достаточно просто.

Итак, теперь давайте попробуем отменить все действия, которые мы делали, используя VBA. Скопирую три строки кода, которые мы до этого записали, и приравниваю аргументы свойств к False. Давайте попробуем отработать это в режиме отладки. Жмём F8: делает жирным, делает курсивом, делает нижнее подчёркивание, и дальше будет всё возвращать на круги своя.

  • Sub myFont()
    Range("a1:c6").Font.Bold = 1
    Range("a1:c6").Font.Italic = 1
    Range("c1:c3").Font.Underline = 1
    Range("a1:c6").Font.Bold = 0
    Range("a1:c6").Font.Italic = 0
    Range("c1:c3").Font.Underline = 0
    End Sub
-11

Итак, всё у нас вернулось на место, и наш код правильно отработал наши задумки. Вот так мы с вами рассмотрели, как работают команды Font Bold, Italic и Underline.

Подписывайтесь, чтобы не пропустить выход новых статей. Также пишите своё мнение и вопросы в комментариях.