📋 Элемент управления ListView
ListView (вид списка, представление списка) — элемент управления, который позволяет отображать данные в виде значков, списка или таблицы внутри формы VBA Excel. Чаще всего ListView используется для отображения данных в виде таблицы - режим Отчет (lvwReport).
🎈 Добавление ListView на UserForm
1️⃣ Откройте редактор VBA (Alt + F11).
2️⃣ В редакторе VBA выберите Tools → References.
3️⃣ Найдите и активируйте библиотеку Microsoft Windows Common Controls, если она ещё не активирована.
4️⃣ Создайте новую форму (Insert → UserForm).
5️⃣ Если панели элементов управления не видно, откройте ее (View → Toolbox).
6️⃣ Щелкните правой кнопкой мыши на панели элементов управления и выберите «Additional Controls…» (Дополнительные элементы управления…).
7️⃣ Найдите «Microsoft ListView Control» и добавьте его на панель.
8️⃣ Перетащите элемент ListView с панели элементов на вашу UserForm.
📌 Пример заполнения ListView
Пример отображения списка сотрудников с их ФИО, должностью и отделом:
Вставьте код примера в модуль UserForm. Результат работы кода представлен на изображении ниже.
#VBA #Excel #ListView #Отчет #Report
ListView (вид списка, представление списка) — элемент управления, который позволяет отображать данные в виде значков, списка или таблицы внутри формы VBA Excel. Чаще всего ListView используется для отображения данных в виде таблицы - режим Отчет (lvwReport).
🎈 Добавление ListView на UserForm
1️⃣ Откройте редактор VBA (Alt + F11).
2️⃣ В редакторе VBA выберите Tools → References.
3️⃣ Найдите и активируйте библиотеку Microsoft Windows Common Controls, если она ещё не активирована.
4️⃣ Создайте новую форму (Insert → UserForm).
5️⃣ Если панели элементов управления не видно, откройте ее (View → Toolbox).
6️⃣ Щелкните правой кнопкой мыши на панели элементов управления и выберите «Additional Controls…» (Дополнительные элементы управления…).
7️⃣ Найдите «Microsoft ListView Control» и добавьте его на панель.
8️⃣ Перетащите элемент ListView с панели элементов на вашу UserForm.
📌 Пример заполнения ListView
Пример отображения списка сотрудников с их ФИО, должностью и отделом:
Private Sub UserForm_Initialize()
' Настройка формы
With Me
.Caption = "Список сотрудников"
.Width = 300
.Height = 160
End With
With Me.ListView1
' Настройка режима отображения
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
.Left = Me.Left
.Top = Me.Top
.Width = Me.Width ' По ширине разворачиваем на всю форму
.Height = Me.Height - 70 ' Внизу оставляем место для кнопок
' Добавляем колонки с заголовками и задаем ширину
.ColumnHeaders.Add , , "ID", 30 ' Заголовок 1, но столбец 0
.ColumnHeaders.Add , , "ФИО", 80 ' Заголовок 2, но столбец 1
.ColumnHeaders.Add , , "Должность", 80 ' Заголовок 3, но столбец 2
.ColumnHeaders.Add , , "Отдел", 105 ' Заголовок 4, но столбец 3
' Добавляем строки
Dim itm As ListItem
Set itm = .ListItems.Add(, , "1") ' Элемент 1 строки (0 столбец)
itm.SubItems(1) = "Иванов И.И." ' Подэлемент 1 строки (1 столбец)
itm.SubItems(2) = "Менеджер" ' Подэлемент 1 строки (2 столбец)
itm.SubItems(3) = "Отдел продаж" ' Подэлемент 1 строки (3 столбец)
Set itm = .ListItems.Add(, , "2")
itm.SubItems(1) = "Петров П.П."
itm.SubItems(2) = "Аналитик"
itm.SubItems(3) = "Финансовый отдел"
Set itm = .ListItems.Add(, , "3")
itm.SubItems(1) = "Сидоров С.С."
itm.SubItems(2) = "Программист"
itm.SubItems(3) = "ИТ-отдел"
End With
End Sub
Вставьте код примера в модуль UserForm. Результат работы кода представлен на изображении ниже.
#VBA #Excel #ListView #Отчет #Report
👍6