Как заполнить комбинированный список Excel-строкой (строкой)? - PullRequest
0 голосов
/ 30 сентября 2019

Я хотел бы заполнить Combobox строкой (CAT, DOG, FISH, ...) в Excel

На данный момент я сделал следующее:

Private Sub UserForm_Initialize()

    Dim Axis As Variant

    Axis = Rows(1)

    ComboBox1.List = Axis

End Sub

Компиляцияработает, но я вижу только первое значение (например, CAT).

И если я попробую следующий код ....

Private Sub UserForm_Initialize()

    Dim Axis As Variant

    Axis = Columns(1)              '<< Columns instead of Rows

    ComboBox1.List = Axis

End Sub

.... Combobox содержит целоеКолонка.

Я перепробовал много вещей, но пока не нашел решения.

Поэтому я спрашиваю вас, ребята, может ли кто-нибудь помочь мне, пожалуйста.

Спасибо

Ответы [ 2 ]

2 голосов
/ 30 сентября 2019

Если у вас есть строка и вы хотите, чтобы она отображалась в одном списке, вы должны транспонировать

ComboBox1.List = Application.Transpose(Sheet1.Range("A1:C1").Value)

Вы также можете сделать

ComboBox1.List = Array("Cat", "Dog", "Fish")

Чтобы сохранить строку в строке, выдолжны увеличить количество столбцов в выпадающем списке.

0 голосов
/ 01 октября 2019

Я предпочитаю использовать следующий код, чтобы можно было легко удалить или добавить перечисленный элемент в справочную таблицу.

Dim wS As Worksheet
Dim refTable As Range

Set wS = Sheet1    
Set refTable = wS.Range("A1" , Cells(Rows.Count, "A").End(xlUp))
Combobox.List = refTable.Value

Вы можете изменить диапазон refTable, чтобы изменить «A1» и «A». Также это может быть использовано для изменения строки Rows.Count и xlUp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...