如何将任务分配给excel中列表的各个元素?

时间:2011-03-31 12:23:17

标签: vba excel-vba if-statement excel

我添加了来自菜单栏>的表单中的列表查看>工具栏>表格

我想在列表中选择单个元素时指定一些任务,但是当我为它指定一些宏时,它会被应用到整个列表中。

假设我有一个包含3个颜色的列表 - 红色,绿色,蓝色,我希望我的工作表根据个人选择进行着色。 如果我选择红色,则表格应反射红色。

1 个答案:

答案 0 :(得分:0)

除非您将它们绑定到工作表中的单元格,否则您无法对“窗体”窗口中的控件元素执行太多操作。

对于FORMS.Listbox,您需要右键单击并选择“Format Control ...”,然后选择

  • 指定包含选择元素(输入范围)
  • 的多行范围
  • 指定包含所选元素的单细胞范围(细胞链接)

然后您必须再次右键单击

  • “分配宏...”,用于评估Cell链接的值并相应地执行操作(Sub ListBox1_Change()

请注意,Cell链接显示所选选项的索引,而不是值

示例:

A1 contains "Red"
A2 contains "Green"
A3 contains "Blue"

Forms / Listbox1 / Input Range = $A$1..$A$3
Forms / Listbox1 / Linked Cell = $B$1

Sub ListBox1_Change()
    Select Case [B1]
    Case 1:
        MsgBox "Gimme RED"
    Case 2:
        MsgBox "Gimme GREEN"
    Case 3:
        MsgBox "Gimme BLUE"
    Case Else:
        MsgBox "unknown case"
    End Select
End Sub

希望有所帮助