Excel VBA - 为每个单元格选择多个选项

时间:2015-03-06 12:51:27

标签: excel vba excel-vba

我正在尝试将一些VBA代码用于数据集中的列,以便为用户提供选择,以便为该列中的所有单元格选择一个或多个答案。例如,假设列A代表我的数据类型,用户将拥有的选项是:

Type 1
Type 2
Type 3
Type 4
Type 5

现在我想以某种方式对此进行编码,以便每次用户选择列A上的任何单元格时弹出框都会显示5个选项,其中用户可以选择一种或多种类型,然后按确定将信息存储在单元格中。

例如,如果用户选择单元格A2中的类型1,2和3,我希望单元格A2显示“类型A1,类型A2和类型A3”

我只是想知道这对VBA是否可行,并且我对如何处理这个问题的任何建议都非常有用。

1 个答案:

答案 0 :(得分:1)

然而,当人们点击一个单元格时,永久弹出框可能会很快就会让他们神经紧张。

您需要先创建自定义用户表单。

然后,要触发列中每个单元格的操作,请使用:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

If Not Intersect(Target, Range("A:A")) Is Nothing Then
UserForm1.Show 'Your custom user form

End If

End Sub

根据您在用户表单中使用的对象类型,您需要实现相应的_Click或类似功能,以检查您使用用户选中的复选框或其他元素。

对于复选框,这将是:

Private Sub CheckBox1_Click()

If UserForm1.CheckBox1.Value = True Then
'Do stuff, i.e. write the selection to your cell or whatever
End If

End Sub