【问题标题】:How to assign a task to individual element of list in excel?如何将任务分配给excel中列表的单个元素?
【发布时间】:2011-07-26 20:47:30
【问题描述】:

我已从来自菜单栏 > 视图 > 工具栏 > 表单的表单中添加列表

我想分配一些任务来选择列表中的单个元素,但是当我为其分配一些宏时,它会应用于整个列表。

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

【问题讨论】:

    标签: vba excel if-statement


    【解决方案1】:

    除非您将“表单”窗口中的控件元素与工作表中的单元格绑定,否则您无法做很多事情。

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

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

    然后你必须再次右键单击并

    • “分配宏...”评估单元格链接的值并采取相应措施(Sub ListBox1_Change())

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

    例子:

    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
    

    希望有帮助

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 2019-08-31
      • 2020-05-06
      • 2020-06-22
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多