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

Бонус + Задать формат чисел и стилизовать текст в ячейках Excel с помощью VBA: простые макросы для автоматизации

Оглавление

💡 Для кого эта статья: новичкам в VBA, аналитикам, бухгалтерам, преподавателям Excel и всем, кто хочет сократить время на ручное оформление таблиц.

📌 Почему важно знать про NumberFormat и Font в VBA?

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

Добро пожаловать в мир VBA!

Сегодня мы разберёмся:

  1. Как задать числовой формат ячеек (например, два знака после запятой).
  2. Как задать стили шрифта: жирный, курсив, подчёркивание.
  3. Как быстро отменить любые изменения формата.
  4. Как сделать это всё наглядно, чётко и просто.

1. 📐 Работа с NumberFormat: числовой формат через VBA

🔍 Что такое NumberFormat?

Range(...).NumberFormat — это свойство объекта Excel, которое определяет, как будет отображаться число в ячейке. Вы можете задать:

  • число с фиксированным количеством знаков после запятой;
  • отображение в процентах;
  • денежный формат и многое другое.

▶ Пример №1: Два знака после запятой

Sub FormatToTwoDecimals()
Range("A1:C6").NumberFormat = "0.00"
End Sub

📌 Что делает код: задаёт числовой формат с двумя знаками после запятой для диапазона A1:C6.

🔧 Если вы хотите три знака, используйте "0.000", а если проценты, добавьте %: "0.00%".

▶ Пример №2: Формат процентов + десятичные

Sub FormatAsPercentage()
Range("A1:C6").NumberFormat = "0.00%"
End Sub

📎 Это полезно, когда вы работаете с коэффициентами и хотите видеть их как проценты (например, 0.25 → 25.00%).

2. 🎨 Работа со шрифтами: жирный, курсив, подчёркивание

🔍 Свойство Font — ваш друг в стилизации

В VBA объект Range(...).Font даёт доступ к целому набору параметров: Bold, Italic, Underline, Color, Size и др.

▶ Пример №3: Сделать текст жирным

Sub MakeBold()
Range("A1:C6").Font.Bold = True
End Sub

💬 Логика простая: мы обращаемся к объекту .Font, затем к его свойству .Bold и приравниваем к True.

▶ Пример №4: Курсив + жирный

Sub BoldAndItalic()
With Range("A1:C6").Font
.Bold = True
.Italic = True
End With
End Sub

✅ Используем конструкцию With ... End With для компактности кода.

▶ Пример №5: Нижнее подчёркивание отдельных ячеек

Sub UnderlineCells()
Range("C1:C3").Font.Underline = True
End Sub

📍 Если хотите подчеркнуть только заголовки или результаты, используйте выборочный диапазон.

3. 🔄 Как отменить все форматирования шрифта?

Работа с Excel требует не только добавлять, но и отменять форматирование. Это удобно, когда вы пишете макрос "с нуля" и хотите быть уверены, что формат будет единообразным.

▶ Пример №6: Сброс форматирования

Sub ResetFormatting()
With Range("A1:C6").Font
.Bold = False
.Italic = False
.Underline = False
End With
End Sub

📎 Такой подход особенно полезен, если вы работаете с шаблонами, которые могут "наследовать" лишнее форматирование.

📂 Бонус: объединённый макрос с полной стилизацией

Представим, вы хотите оформить таблицу красиво и чётко:

  • числовой формат: два знака;
  • выделить жирным;
  • подчеркнуть заголовки;
  • сбросить лишнее перед применением стиля.

▶ Финальный макрос:

Sub FormatTableBeautifully()
' Сначала сбрасываем стили
With Range("A1:C6").Font
.Bold = False
.Italic = False
.Underline = False
End With
' Применяем числовой формат
Range("A2:C6").NumberFormat = "0.00"
' Жирный заголовок
Range("A1:C1").Font.Bold = True
' Подчёркиваем заголовок
Range("A1:C1").Font.Underline = True
End Sub

📌 Этот макрос — прекрасный старт для создания оформленных таблиц. Настройте его под себя: меняйте диапазон, добавляйте цвета и размеры шрифта.

🧠 Важные замечания

  • NumberFormat не меняет значение ячейки — только его отображение.
  • Стили шрифта (Bold, Italic, Underline) можно комбинировать, не боясь конфликтов.
  • Макросы можно запускать вручную, либо привязывать к кнопке на листе.

✅ Что вы теперь умеете

  • Менять числовой формат ячеек с помощью VBA.
  • Применять стили шрифта: жирный, курсив, подчёркнутый.
  • Сбрасывать лишнее форматирование перед новой стилизацией.
  • Автоматизировать работу с таблицами на практике.
🧩 Следующий шаг: попробуйте добавить кода цвета, размера шрифта и условного форматирования — и ваша таблица станет ещё мощнее.

Хочешь пример таких макросов? Напиши в комментариях — и я подготовлю продолжение!