Почему я не могу добавить строки в список моего поля со списком, используя Excel VBA? - PullRequest
0 голосов
/ 07 июня 2018

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

Error

Мой кодЧтобы добавить код в поле со списком, показано ниже:

1.) Сначала я подсчитываю общее количество строк рабочего листа

With Worksheets("List of Payees").ListObjects("ListofPayees").ListColumns(1).Range
Total_rows_Payees = .Find(What:="*", _
    After:=.Cells(1), _
    Lookat:=xlPart, _
    LookIn:=xlFormulas, _
    SearchOrder:=xlByRows, _
    SearchDirection:=xlPrevious, _
    MatchCase:=False).Row
End With

2.) Добавление в список выпадающего списка Adding to List

Рабочий лист List of Payees и содержимое строки A показаны ниже:

Data Table

Он работает, когда в рабочем листе List of Payees есть как минимум 2 точки данных или когда я очищаю все, кроме заголовка, но не работает с 1 элементом в рабочем листе.Странно.

1 Ответ

0 голосов
/ 07 июня 2018

Проблема в том, что .List ожидает Array, но если Total_rows_Payees = 2, то диапазон равен Range("A2:A2").Value, который возвращает одно значение, а не массив.

If Total_rows_Payees > 2 Then
    cbxPaidTo.List = Worksheets("List of Payees").Range("A2:A" & Total_rows_Payees ).Value
ElseIf Total_rows_Payees = 2 Then
    cbxPaidTo.Clear
    cbxPaidTo.AddItem Worksheets("List of Payees").Range("A2:A" & Total_rows_Payees ).Value
End If
...