Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

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 по тематическим разделам со ссылками на все статьи.