通过Excel VBA实现如下功能:
1、在sheet1中,输入一列项目,这列内容会作为复选框的选择项,如果内容有增加,复选框会随着自动增加;
2、双击活动单元格会弹出窗体,窗体内是复选框,复选框对应的内容就是sheet1指定列中的内容;
3、勾选相关内容后,会以所选的各个选项的文字,中间用“;”隔开,插入到活动单元格内。
如图所示。
请大神帮忙编写个VBA代码,多谢啦!
窗体设计,我大概已经知道了,点击按钮录入的代码也已经在论坛中找到了,现在就是列表框控件中,实现复选框链接到一列数据上,这个没研究出来呢还。。。
追答Private Sub CommandButton1_Click()
For i = 0 To Me.Lst.ListCount - 1
If Me.Lst.Selected(i) Then
Sr = Sr & Me.Lst.List(i) & ";" & Chr(10)
End If
Next
Sr = Left(Sr, Len(Sr) - 2)
ActiveCell = Sr
Unload UserForm1
End Sub
这是单击录入按钮时运行的代码
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
UserForm1.Show
For Each rg In Sheets("数据源").Range("a2:" & "a" & Sheets("数据源").Range("a1").End(xlDown).Row)
UserForm1.Lst.AddItem rg.Value
Next
end If
End Sub
这是双击单元格时运行的代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Lst.Clear
For Each rg In Sheets("数据源").Range("a2:" & "a" & Sheets("数据源").Range("a1").End(xlDown).Row)
UserForm1.Lst.AddItem rg.Value
Next
End If
End Sub
这是数据源表添加项目或者删除项目时运行的代码。