我做了一个EXCEL 想达到一级菜单可多选,二级菜单与之对应(即当一级菜单多选A.B后,二级菜单只能从A.B的二级菜单中选择)
根据数据验证的传统方法设置好了一级菜单
利用INDIRECT函数,设置好了二级菜单
为了实现一级菜单多选,使用了VBA代码
一级菜单确实可以多选了,但我发现一级菜单多选时,二级菜单并没有如我所料与一级菜单的多选内容所对应,反而无法选择。
这种问题应该怎么解决呢?
我做了一个EXCEL 想达到一级菜单可多选,二级菜单与之对应(即当一级菜单多选A.B后,二级菜单只能从A.B的二级菜单中选择)
这种问题应该怎么解决呢?
以下内容由AIGC及阿里嘎多学长共同生成、有用望采纳:
在Excel中实现一级菜单多选和二级菜单动态更新的功能,可以通过以下步骤来操作:
=COUNTIF($A$1:A1, A1)<2
(假设A列为一级菜单)。=INDIRECT("B" & MATCH(A2, 'Sheet1'!$A$1:$A$100, 0))
,这里假设二级菜单的数据在工作表'Sheet1'的B列到B100范围内。Function MultiSelectValidation(rng As Range, typeNum As Integer) As String
Dim cell As Range
Dim result As String
result = ""
For Each cell In rng
If Not InStr(result, cell.Value & ",") > 0 Then
result = result & cell.Value & ","
End If
Next cell
' 移除最后一个逗号
result = Left(result, Len(result) - 1)
MultiSelectValidation = result
End Function
通过上述步骤,你应该能够实现Excel中一级菜单的多选功能,并确保二级菜单能够根据一级菜单的选择动态更新。如果遇到具体问题,可能需要进一步调试代码和公式。