【问题标题】:VBA ComboBox Value by IndexVBA ComboBox 索引值
【发布时间】:2019-08-29 20:51:16
【问题描述】:

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

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

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

【问题讨论】:

  • .Value = ((.ListIndex + 1)*90) ?
  • 不,我的问题被误解了。查看当前执行的示例。
  • myCombo.ListIndex = idx;你有这个问题吗?
  • 这不是我要问的。我知道.ListIndex 提供了所选项目的索引。我想要的是通过提供索引来设置选择的项目。
  • 我上面建议的语句没有提供所选项目的索引;它通过提供一些索引idx* 来设置组合。

标签: vba excel combobox


【解决方案1】:

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

x = io6.ListIndex + 1

+1 存在,因为 ListIndex 基于 0,但您希望它基于 1。
和完全不同的东西,
拆下括号。没有返回值的方法调用不会在 VBA 中使用它们

评论后编辑
换一种方式,即从索引值中获取值,这样做:

y = io6.List(x - 1)

【讨论】:

  • 没有。我想我需要更清楚。我想根据变量显示组合框值。换句话说,如果变量 = 1,我想显示 listindex 为 = 1 的组合框值。
  • 我非常感谢您的努力,但这仍然不对。事实上,那根本行不通。 .List 属性用于从数组创建列表项。
  • msdn.microsoft.com/VBA/Language-Reference-VBA/articles/… 表示“返回或设置列表框或组合框的列表条目”
【解决方案2】:

sValue = combobox.List(combobox.ListIndex,0)

【讨论】:

  • 我认为有必要添加有关您的解决方案的解释。
  • 没什么好解释的...combobox 是组合框的名称,.List 属性是如何从组合框中获取数据,将 ListIndex 指定为行参数,0 表示列参数。这会将所选项目的第一列中的值返回给 sValue 变量。在这种情况下,组合框中只有一列。
  • 这些我都知道。但即使是编辑和添加一行,也许还有一个文档链接,也会让你的答案不会出现在低质量的帖子队列中。
  • 这是您和其他所有人似乎都搞错的地方。我不是想把数据拿出来。我正在尝试根据索引变量更改显示的数据。
  • 不确定你的意思,但你也可以反过来...combobox.List(combobox.ListIndex,0)="New Value"
【解决方案3】:

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

是的,
我使用了以下行:

io6.ListIndex = val - 1

所以在你的代码中是:

Sub varChange(val as integer)
    comboBox.ListIndex = val - 1
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 2018-12-26
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多