我正在尝试将一些VBA代码用于数据集中的列,以便为用户提供选择,以便为该列中的所有单元格选择一个或多个答案。例如,假设列A代表我的数据类型,用户将拥有的选项是:
Type 1
Type 2
Type 3
Type 4
Type 5
现在我想以某种方式对此进行编码,以便每次用户选择列A上的任何单元格时弹出框都会显示5个选项,其中用户可以选择一种或多种类型,然后按确定将信息存储在单元格中。
例如,如果用户选择单元格A2中的类型1,2和3,我希望单元格A2显示“类型A1,类型A2和类型A3”
我只是想知道这对VBA是否可行,并且我对如何处理这个问题的任何建议都非常有用。
答案 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