我一直在电脑屏幕上砸脑袋试图解决这个问题,但我找到的每一个解决方案都没有结果。
我正在尝试创建一个用户窗体,并希望用它所连接的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