VBA 组合框值(按索引)

Jab*_*cky 2 excel vba combobox

我有一个包含组合框的表单,其中包含值

\n\n
With io6\n   .AddItem "90\xc2\xb0"\n   .AddItem "180\xc2\xb0"\n   .AddItem "270\xc2\xb0"\n   .AddItem "360\xc2\xb0"\nEnd With\n
Run Code Online (Sandbox Code Playgroud)\n\n

我实际使用的这个方法的成员是.ListIndex。当用户选择 270 度时,我将 2 发送到变量。当我读取变量时,我希望组合框正确显示适当的值。换句话说,如果变量为 1,我希望组合框显示 180 度。这是可以实现的吗?写入 .Value 的 select\\if 语句,

\n\n
Sub varChange(val as integer)\n\n   With comboBox\n\n     Select Case val\n       Case 1\n         .value = "90\xc2\xb0"\n       Case 2\n         .value = "180\xc2\xb0"\n       Case 3\n         .value = "270\xc2\xb0"\n       Case 4\n         .value = "360\xc2\xb0"\n     End Select\n\n    End With\n\nEnd Sub\n
Run Code Online (Sandbox Code Playgroud)\n\n

我能问的最直接的问题是,方法元素可以根据索引来设置吗?我可以根据索引设置组合框元素,而不必写入新值吗?

\n

Sam*_*Sam 5

我不确定我是否正确,但我认为您想获取所选项目的列表索引。你可以通过

x = io6.ListIndex + 1
Run Code Online (Sandbox Code Playgroud)

+1 在那里,因为 ListIndex 是基于 0 的,但您希望它是基于 1 的。
还有一些完全不同的东西,
去掉括号。没有返回值的方法调用不会在 VBA 中使用它们

在评论后编辑
要采用另一种方式,即从索引值中获取值,请执行以下操作:

y = io6.List(x - 1)
Run Code Online (Sandbox Code Playgroud)