Как да попълня Combo Box с данни от Named Range в Excel?
Можете да посочите комбинирано поле (ActiveX Control) с данни от определен диапазон, като добавите диапазона в свойствата ListFillRange на комбинираното поле. Но знаете ли как да попълните комбинирано поле с данни от наименуван диапазон в Excel? Например, наименували сте диапазон от клетки във вашия работен лист и сега трябва да посочите това име на диапазон в разгъващ се списък. Когато изберете името на диапазона в един разгъващ се поле, всички стойности на клетки в този наименуван диапазон ще бъдат автоматично попълнени в друг разгъващ се поле. Тази статия ще представи метод на VBA за решаване на този проблем.
Попълване на падащото поле с данни от наименуван диапазон с VBA код
Попълване на падащото поле с данни от наименуван диапазон с VBA код
Моля, направете следното, за да попълните комбинираното поле с данни от наименуван диапазон в Excel.
1. Моля, изберете целите заглавки (в този случай избирам A1:E1) във вашия работен лист и след това въведете име в Име Box както е показано на екранната снимка по-долу.
2. Изберете всяка колона с данни, с изключение на нейната заглавка, и след това наименувайте колоната отделно в Име Box. Вижте екранна снимка:
В този случай наименувах диапазон A2:A8, B2:B8, C2:C8, D2:D8 и E2:E8 като дата, магазин, артикули, продажби и делничен ден поотделно.
3. След това поставете комбинирано поле, като щракнете Софтуерен Инженер > Поставете > Комбо поле (ActiveX Control). Вижте екранна снимка:
4. Повторете стъпка 3, за да вмъкнете друго комбинирано поле в работния лист.
5. Щракнете с десния бутон върху раздела на листа и след това щракнете Преглед на кода от контекстното меню. Вижте екранна снимка:
6. В откриването Microsoft Visual Basic за приложения прозорец, моля, копирайте и поставете под кода на VBA в прозореца на кода.
VBA код: Попълване на разгъващ се списък с данни от наименуван диапазон
Private Sub ComboBox1_Change()
'Updated by Extendoffice 2018/1/30
Dim xRg As Range
Set xRg = Range(Me.ComboBox1.Text)
Me.ComboBox2.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xRg As Range
Set xRg = Range("Headers")
Me.ComboBox1.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Забележка: В кода ComboBox1 е името на комбинираното поле, в което ще изброите всички имена на диапазони, а ComboBox2 е името на комбинираното поле, в което ще бъдат попълнени данните от посочения наименуван диапазон. „Заглавките“ е името на диапазона, който сте създали в стъпка 1.
7. Изключете режима на проектиране, като щракнете Софтуерен Инженер > Режим на проектиране.
8. Щракнете върху която и да е клетка в работния лист, за да активирате кода. Щракнете върху бутона със стрелка в първото разгъващо се поле, можете да видите, че всички наименувани диапазони са изброени вътре. Вижте екранна снимка:
Когато избирате именуван диапазон в първото разгъващо се поле, съответните данни за клетките ще бъдат попълнени във второто разгъващо се поле, както е показано на екранната снимка по-долу:
Създайте лесно падащ списък с квадратчета за отметка в Excel:
- Падащ списък с квадратчета за отметка полезност на Kutools за Excel може да ви помогне лесно да създадете падащ списък с квадратчета за отметка в определен диапазон, текущ работен лист, текуща работна книга или всички отворени работни книги въз основа на вашите нужди.
Изтеглете и опитайте сега! (30-дневна безплатна пътека)
Още по темата:
- Как да копирам стойност на Combo Box в активна клетка в Excel?
- Как да покажа формат на датата в изхода на комбинираното поле в Excel?
- Как да предотвратите или деактивирате въвеждането в разгъващ се списък в Excel?
- Как да попълня разгъващ се списък с определени данни при отворена работна книга?
- Как да попълвам автоматично други клетки при избиране на стойности в падащия списък на Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!