使用列填充组合框



我一直在电脑屏幕上砸脑袋试图解决这个问题,但我找到的每一个解决方案都没有结果。

我正在尝试创建一个用户窗体,并希望用它所连接的Excel工作表中的数据填充一个组合框。该工作表在VBA编辑器中的标题为"PrinterModels(打印机模型(",该框的标题为cmbModel。当我在框的属性中填充RowSource时,它会填充,但当选择项目时,当选择另一个项目时,它们会从列表中消失。我需要的是一种在代码中填充Box的方法,如果它的行为相同,我需要一种在下次遇到问题时重新填充Box的方式。我在下面发布了我的最新尝试,给出了错误1004

Private Sub UserForm_Initialize()
'cmbModel.List = PrinterModels.Range("A2:A").Value

ModelLast = PrinterModels.Cells(Rows.Count, 1).End(x1Up).Row

For i = 1 To ModelLast
Value = PrinterModels.Cells(i, 1).Value
cmbModel.AddItem Value
Next i
End Sub

好的,所以我在继续深入搜索后找到了答案,并在这里找到了解决方案StackOverflow 18088729

在将答案代码更改为以下内容后,方框按照我想要的方式填充。

Private Sub UserForm_Initialize()
'cmbModel.List = PrinterModels.Range("A2:A").Value
With PrinterModels
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

For i = 1 To LastRow
myValue = PrinterModels.Cells(i, 1).Value
cmbModel.AddItem myValue
Next i
End Sub

相关内容

  • 没有找到相关文章

最新更新