为什么我无法使用 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
我不确定为什么在尝试将项目添加到组合框列表时出错,如下所示:
我将代码添加到组合框的代码如下所示:
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