可能重复:
在列表框中添加具有多列的项目
使用MFC VC++有两个控件,ListBox和ListCtrl.但是对于VBA来说,似乎我们只有ListBox.
我想创建一个包含2列(Company_ID,Company_Name)的列表框.
这是我尝试过的:
在VBA代码例程中,我添加了以下行:
lstbox.ColumnCount = 2
lstbox.AddItem (Company_ID)
Run Code Online (Sandbox Code Playgroud)
以下代码无法正常工作,这似乎与添加列值有关:
lstbox.Column(1,lstbox.ListCount - 1) = Company_name
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
需要运行时错误'424'对象.
任何人都可以帮助vba代码添加到多列列表框.
我在向访问列表框中的多个列添加值时遇到问题.我尝试过这样的解决方案:在列表框中添加多列的项目,这样:vba listbox multicolumn add [duplicate],但它不起作用.在我的情况下,列表框没有属性"列表".我有编译错误:

Private Sub cmdAddPosition_Click()
Dim i As Integer
Me.lstAddPositions.ColumnCount = 7
If Me.txtAddPos.Value = i And i > 0 And i < 50 Then
Me.lstAddPositions.AddItem (Me.txtAddPos.Value)
'Me.lstAddPositions.AddItem(Me.txtAddPos.Value,(i))
Me.lstAddPositions.List(0, i) = Me.txtAddPos.Value
'Me.lstAddPositions.Column(0, i) = Me.txtAddPos.Value 'adding number of position
'Me.lstAddPositions.Column(2, i) = Me.lstAddHidden.Column(0, 0) 'adding titel
End If
Me.lstAddPositions.Requery
End Sub
Run Code Online (Sandbox Code Playgroud)
在这种情况下我该怎么办?
对于某些人来说,这可能是一个便宜的问题,但是我对如何填充列表框感到完全困惑。
使用此行,我可以如下所示填充列表框:
ListBox1.List = Sheets("Sheet1").Cells(1, 1).CurrentRegion.Value
或
Dim rngName As Range
Dim ws As Worksheet
Dim i As Integer
Set ws = Worksheets("Sheet1")
For i = 1 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row Step 1
If ws.Cells(i, 1).Value <> vbNullString Then Me.ListBox1.AddItem
ws.Cells(i, 1).Value
Next i
Run Code Online (Sandbox Code Playgroud)
以下是我计划用于填充列表框的数据,这些数据是渐进式的。只有该列具有修复计数。

有人请启发我如何使用FOR LOOP填充适合多列和多行的列表框,如上面的代码所示。任何帮助表示赞赏。谢谢。