Excel用户窗体combobox属性Rowsource框问题?
我在Excel中有一个用户表单,用作计算器。
在这个用户表单中,我有两个combobox(1和2)
在VBA编辑器中,selectComboBox1,在属性中,在Rowsourse下我有:Sheet1!a4:a5
在Sheet1中,A4 =奥克兰,A5 =基督城
这很好,当我运行用户表单时,有一个带有两个选项(奥克兰或基督城)的下拉箭头。
然而,我的问题是,当你打开这个工作簿,我有一个VBA命令来隐藏它的用户视线,让他们只有用户窗体工作,这是所期望的。
问题是,如果你有另一个工作簿打开,然后打开这个计算器工作簿(自动隐藏自己)。 然后在已打开的另一个工作簿中填写Sheet1!a4:a5的combobox列表,而不是实际包含用户窗体所来自的“Auckland”和“Christchurch”的工作簿。
我已经尝试通过将下列内容放在行来源框中属性:[book1.xlsm] sheet1!a4:a5,但是这会出现“无效的属性值”错误消息,使combobox的Rowsource更具体。
我也试过做一个:
Private Sub Userform1_Initialize() ComboBox1.Additem "Auckland" ComboBox1.Additem "Christchurch" End Sub
而且也试过这个:
Private Sub Userform1_Initialize() ComboBox1.RowSource = Workbooks("book1.xlsm").Sheets("Sheet1").Range("a4:a5").Value End Sub
但是,当两个代码打开并运行时,combobox都是空的,没有列表。
我认为easist解决scheme将以某种方式将完整path(包括工作簿名称)放入属性下的行源框中。 但是我必须错过一些东西,因为它为我提供了这个错误?
所有的帮助将不胜感激。
谢谢
将combobox的行源属性设置为: SheetName!$Col$Row:$Col$Row
,例如: Location!$A$1:$A$3
。
您在完整path行源中缺less'
。
应该是这样的:
Me.ComboBox1.RowSource = "'[book1.xlsm]Sheet1'!$A$4:$A$5"
我有类似的问题,可以在这里find。
你可以尝试在userform上添加这个代码:
Private Sub UserForm_Initialize()
ComboBox1.list = Array("Auckland","Christchurch")
End Sub
然后将Combobox属性“MatchEntry”设置为“1”。