Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заполнение ListBox значениями из умной таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение ListBox значениями из умной таблицы (Макросы/Sub)
Заполнение ListBox значениями из умной таблицы
Sashagor1982 Дата: Среда, 27.10.2021, 21:17 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Имеется умная таблица

Каким образом можно заполнить ListBox при этом изменяя порядок столбцов из умной таблицы, например сначала категория, потом ФИО, потом дата рождения?
К сообщению приложен файл: 4040242.xlsm (26.6 Kb)
 
Ответить
СообщениеИмеется умная таблица

Каким образом можно заполнить ListBox при этом изменяя порядок столбцов из умной таблицы, например сначала категория, потом ФИО, потом дата рождения?

Автор - Sashagor1982
Дата добавления - 27.10.2021 в 21:17
R_Dmitry Дата: Четверг, 28.10.2021, 11:09 | Сообщение № 2
Группа: Друзья
Ранг: Участник
Сообщений: 74
Репутация: 34 ±
Замечаний: 0% ±

2010
[vba]
Код
Function GetTableBodyRange(aColumns, sh, TableNAme)
Dim e
a = sh.ListObjects(TableNAme).DataBodyRange.Value
ReDim e(1 To UBound(a), 1 To UBound(aColumns) + 1)
For i = 1 To UBound(a)
    For j = LBound(aColumns) To UBound(aColumns)
        e(i, j + 1) = a(i, aColumns(j))
    Next
Next
GetTableBodyRange = e
End Function
Sub test_()
Me.ListBox1.List = GetTableBodyRange(Array(1, 4, 2, 3), ActiveSheet, "tbl")
End Sub
[/vba]


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела

Сообщение отредактировал R_Dmitry - Четверг, 28.10.2021, 11:41
 
Ответить
Сообщение[vba]
Код
Function GetTableBodyRange(aColumns, sh, TableNAme)
Dim e
a = sh.ListObjects(TableNAme).DataBodyRange.Value
ReDim e(1 To UBound(a), 1 To UBound(aColumns) + 1)
For i = 1 To UBound(a)
    For j = LBound(aColumns) To UBound(aColumns)
        e(i, j + 1) = a(i, aColumns(j))
    Next
Next
GetTableBodyRange = e
End Function
Sub test_()
Me.ListBox1.List = GetTableBodyRange(Array(1, 4, 2, 3), ActiveSheet, "tbl")
End Sub
[/vba]

Автор - R_Dmitry
Дата добавления - 28.10.2021 в 11:09
Sashagor1982 Дата: Пятница, 29.10.2021, 19:35 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 287
Репутация: -6 ±
Замечаний: 0% ±

Excel 2007
Не работает, можно приложить файл?
 
Ответить
СообщениеНе работает, можно приложить файл?

Автор - Sashagor1982
Дата добавления - 29.10.2021 в 19:35
RAN Дата: Пятница, 29.10.2021, 20:32 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Можно. Приложите.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМожно. Приложите.

Автор - RAN
Дата добавления - 29.10.2021 в 20:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение ListBox значениями из умной таблицы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!