VBA Excel. Элемент управления MultiPage

Создание коллекции страниц с наборами элементов управления на пользовательской форме VBA Excel с помощью элемента управления MultiPage. Примеры кода.

Элемент управления MultiPage

UserForm.MultiPage – это элемент управления пользовательской формы, представляющий коллекцию страниц (Pages) как единый набор, позволяющий визуально разделить на отдельные страницы (Page) большой объем взаимосвязанной информации.

Элемент управления MultiPage

Элемент управления MultiPage очень удобен, когда большой объем информации может быть разделен на несколько категорий, каждая из которых размещается на отдельной странице.

Основное свойство коллекции страниц – Value, которое возвращает индекс текущей (активной) страницы (индексация начинается с нуля).

Основное событие (метод) коллекции страниц – Change, которое происходит в момент перехода между страницами.

На каждой странице элемента управления MultiPage размещается свой набор элементов управления. Этим коллекция страниц отличается от элемента TabStrip, у которого на каждой вкладке отображается один и тот же набор элементов управления.

По умолчанию в редакторе VBA Excel на элементе управления MultiPage отображены 2 вкладки. Добавить, удалить, переименовать или переместить вкладку можно через контекстное меню, кликнув по ярлыку страницы правой кнопкой мыши.

Контекстное меню ярлыков элемента управления MultiPage

  • New Page – добавление новой страницы;
  • Delete Page – удаление страницы;
  • Rename… – переименование страницы;
  • Move… – перемещение страницы.

Примеры кода VBA Excel с MultiPage

Пример 1
Добавление и удаление страниц элемента управления MultiPage с помощью кода VBA Excel.

Добавление 3-й, 4-й, 5-й и 6-й страниц к двум, которые уже есть по умолчанию:

Удаление второй страницы:

Удаление всех страниц:

Подгон размеров элемента управления MultiPage полностью под размеры пользовательской формы:

Пример 2
Добавление информации о новом сотруднике с помощью элемента управления MultiPage и запись в таблицу на рабочем листе Excel.

Для реализации примера понадобится следующая таблица:

Пустая таблица с шапкой на рабочем листе Excel

и проект пользовательской формы в редакторе VBA Excel:

Наименования страниц элемента управления MultiPage и текст надписей (Label) заданы непосредственно на проекте пользовательской формы. Кнопку будем переименовывать в коде, так как она используется на 1-й и 2-й страницах для перехода на следующую страницу, а на 3-й странице – для записи данных в таблицу.

Загрузка пользовательской формы с необходимыми параметрами:

Смена надписи на кнопке в зависимости от индекса текущей страницы элемента управления MultiPage1:

Обработка клика по кнопке CommandButton1:

Заполнение данными страниц элемента управления MultiPage1:

Записанная строка в таблице Excel после нажатия кнопки «Сохранить»:

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

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

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