Jab*_*cky 2 excel vba combobox
我有一个包含组合框的表单,其中包含值
\n\nWith io6\n .AddItem "90\xc2\xb0"\n .AddItem "180\xc2\xb0"\n .AddItem "270\xc2\xb0"\n .AddItem "360\xc2\xb0"\nEnd With\nRun Code Online (Sandbox Code Playgroud)\n\n我实际使用的这个方法的成员是.ListIndex。当用户选择 270 度时,我将 2 发送到变量。当我读取变量时,我希望组合框正确显示适当的值。换句话说,如果变量为 1,我希望组合框显示 180 度。这是可以实现的吗?写入 .Value 的 select\\if 语句,
\n\nSub 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\nRun Code Online (Sandbox Code Playgroud)\n\n我能问的最直接的问题是,方法元素可以根据索引来设置吗?我可以根据索引设置组合框元素,而不必写入新值吗?
\n我不确定我是否正确,但我认为您想获取所选项目的列表索引。你可以通过
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)