为什么我无法使用 Excel VBA 将行添加到我的组合框列表中?

Why am I unable to add rows to my combo box's list using Excel VBA?

我不确定为什么在尝试将项目添加到组合框列表时出错,如下所示:

我将代码添加到组合框的代码如下所示:

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.) 添加到组合框列表

List of Payees 工作表和行 A 的内容如下所示:

List of Payees 工作表中至少有 2 个数据点时或者当我清除除 header 以外的所有内容时它可以工作,但它不适用于工作表中的 1 个项目。奇怪。

问题是 .List 等待 Array 但如果 Total_rows_Payees = 2 则范围是 Range("A2:A2").Value 其中 returns 是单个值而不是数组。

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