我有一个包含组合框的表单,其中包含值
With io6
.AddItem "90°"
.AddItem "180°"
.AddItem "270°"
.AddItem "360°"
End With
我实际使用的这个方法的成员是.ListIndex。当用户选择270度时,我向变量发送2。当我读取变量时,我希望组合框正确显示适当的值。换句话说,如果变量是1,我希望组合框显示180度。是否可以实现没有写入.Value的select \ if语句?
Sub varChange(val as integer)
With comboBox
Select Case val
Case 1
.value = "90°"
Case 2
.value = "180°"
Case 3
.value = "270°"
Case 4
.value = "360°"
End Select
End With
End Sub
最直接我可以问这个问题是,可以根据索引设置方法元素吗?我可以根据索引设置组合框元素,而不必写入新值吗?
答案 0 :(得分:2)
我不确定我是否做对了,但我想你想得到所选项目的列表索引。 你可以通过
获得x = io6.ListIndex + 1
由于ListIndex是基于0的,所以+1是存在的,但是你希望它基于1
还有一些完全不同的东西,
取下支架。没有返回值的方法调用不会在VBA中使用它们
评论后修改
换句话说,即从索引值中获取值,请执行以下操作:
y = io6.List(x - 1)
答案 1 :(得分:0)
sValue = combobox.List(combobox.ListIndex,0)
答案 2 :(得分:0)
我能问的最直接的问题是,可以基于索引设置方法元素吗?我可以基于索引设置组合框元素,而不必输入新值吗?
是的,
我使用了以下行:
io6.ListIndex = val - 1
所以在您的代码中是:
Sub varChange(val as integer)
comboBox.ListIndex = val - 1
End Sub