图片老师 足交老师 足交
如上图所示,兴味敬爱一列不错摄取多个选项,况兼摄取后自动填入单位格,每个选项之间用分号自动分隔,摄取单位格时右侧自调遣出下拉菜单。要完了这个成果,当然不是简便的Excel界面操作就能完成的,需要使用到控件和VBA代码。不外别驰念,代码准备好了,只消公共按照要领操作,准保不错完了。一、插入列表框摄取【诱惑器具】选项卡,点击【插入】,摄取列表框,具体操作参见动图演示:图片
二、复制粘贴代码责任表标签右击鼠标,摄取稽查代码,粘贴底下的代码。具体操作参见动图演示:图片
代码如下:Private Sub ListBox1_Change()
If Reload Then Exit Sub
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then t = t & ";" & Trim(ListBox1.List(i))
Next
ActiveCell = Mid(t, 2)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ListBox1
If ActiveCell.EntireRow.Range("a1") <> "" And ActiveCell.Column = 5 And ActiveCell.Row > 1 Then
t = ActiveCell.Value
Reload = True
For i = 0 To .ListCount - 1
If InStr(t, .List(i)) Then
.Selected(i) = True
Else
.Selected(i) = False
End If
Next
Reload = False
.MultiSelect = fmMultiSelectMulti
.ListStyle = fmListStyleOption
.ListFillRange = "sheet2!a2:a" & Sheet2.Cells(1, 1).End(xlDown).Row
.Top = ActiveCell.Offset(0, 1).Top
.Left = ActiveCell.Offset(0, 1).Left
.Width = ActiveCell.Width
.Height = ActiveCell.Height * 6
.Visible = True
Else
红薯妹.Visible = False
End If
End With
End Sub
三、测试启动点击【诱惑器具】选项卡,取消打算容貌,尝试一下菜单是否不错浩繁披露。图片
四、代码调理这里的菜单讹诈在Sheet1责任表中的E列,其它列点击鼠标是莫得这个成果的。况兼菜单列表扬弃在另外一个责任表Sheet2的A列。图片
如若公共的责任表称呼和诸君置与案例不一致,就需要对代码作念微调,调理措施如下:图片
① IF 语句需要闲适三个条目。第一个是行动单位格场合行的第一个单位格不为空,第二个是行动单位格场合列为第五列,第三个条目是行动单位格场合的行大于1,只消这三个条目同期闲适智商讹诈下拉菜单。如若公共下拉菜单讹诈的位置和案例不同,需要进行相应的调理。② 这里用来诱惑下拉菜单的数据源。责任表2的a2单位格到临了一个非空单位格,如若你的责任表不是sheet2,数据源的畛域也不同,亦然要作念相应调理的。 本站仅提供存储处事,扫数本色均由用户发布,如发现存害或侵权本色,请点击举报。