【发布时间】:2022-01-24 02:43:06
【问题描述】:
我一直在试图解决这个问题,但我发现的每一个解决方案都无济于事。
我正在尝试创建一个用户窗体,并且我想用它所连接的 Excel 工作表中的数据填充一个组合框。 Sheet 在 VBA 编辑器中的标题为“PrinterModels(打印机模型)”,该框的标题为 cmbModel。当我在其属性中填充带有Rowsource的框时,它填充,但选择项目时,它们会在选择其他项目时从列表中消失。我需要的是一种在代码中填充 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
【问题讨论】:
-
您是否将行源设置为工作表上的范围?我最近与此作斗争,这就是我解决它的方法。如果您需要添加项目,请将它们添加到工作表上的列表中,并使用扩展范围更新资源。
-
x1Up应该是xlUp使用Option explicit几乎可以完全避免此类错误
标签: excel vba combobox userform