VBA Excel. Квадратные ячейки (тетрадные клетки)

Создание квадратных ячеек (тетрадных клеток) на рабочем листе Excel с помощью кода VBA, когда высота строк в диапазоне листа равна ширине столбцов.

Квадратные ячейки в Excel

В этой статье мы рассмотрим создание квадратных ячеек с помощью кода VBA на рабочем листе Excel по аналогии с тетрадным листом в клетку:

Тетрадные клетки на рабочем листе Excel

Кнопка «Размер ячейки» предназначена для выбора ширины и высоты тетрадных клеток (стороны квадрата) в пикселях.

Создание тетрадных клеток

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

Но проблема заключается в том, что высота строк и ширина столбцов задаются разными единицами измерения, и выражение ActiveCell.ColumnWidth = ActiveCell.RowHeight не сделает активную ячейку квадратной.

Для организации программного создания тетрадных клеток мы вручную создадим несколько равносторонних ячеек, ориентируясь на пиксели, и запишем их размеры в пунктах (высота) и символах (ширина):

Подбор размера тетрадной клетки в Excel

Получилась следующая таблица:

Сторона квадрата в пикселях Высота ячейки в пунктах Ширина ячейки в символах
10 7.5  0.83
15 11.25 1.43
20 15 2.14
25 18.75 2.86
30 22.5 3.57

Форма и элементы управления

Для выбора размера квадратных ячеек в пикселях создадим пользовательскую форму UserForm1, на которой разместим поле со списком ComboBox1 и кнопку CommandButton1.

Размеры и надписи формы и элементов управления зададим в процедуре инициализации пользовательской формы, размещенной в ее модуле:

В этой же процедуре заполняется раскрывающийся список ComboBox1 значениями для выбора.

Для вызова пользовательской формы на рабочем листе размещаем кнопку из коллекции «Элементы ActiveX», меняем ее название на «Размер ячейки» и добавляем код отображения формы в модуль листа:

Присвоение ячейкам размеров

Для присвоения одинаковой высоты и ширины ячейкам рабочего листа в модуль пользовательской формы вставляем процедуру, привязанную к событию Click кнопки CommandButton1 (кнопка на форме):

Данная процедура VBA использует размер клетки в пикселях, выбранный из выпадающего списка, для задания соответствующих размеров в пунктах и символах для высоты и ширины ячеек на рабочем листе Excel.


Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.