Prz*_*min 7 excel vba excel-vba drop-down-menu
我有我的很多板材下拉列表中,我已经通过菜单设置Data
> Data Validation
> list
.VBA中有一种批量方式可以将它们全部设置为默认值吗?默认值我指的是列表中声明的第一个值.
BTW.我按照公式为A1中的下拉列表设置了一个来源:
__PRE__
是否有办法将此公式放入B1并在下拉列表源中将其称为Choose item from the list
仅指向一个单元格?(这不起作用).
这就是我最终得到的结果。
Sub DropDownListToDefault()
Dim oCell As Range
For Each oCell In ActiveSheet.UsedRange.Cells
If HasValidation(oCell) Then
oCell.Value = "'- Choose from the list -"
End If
Next
End Sub
Function HasValidation(cell As Range) As Boolean
Dim t: t = Null
On Error Resume Next
t = cell.Validation.Type
On Error GoTo 0
HasValidation = Not IsNull(t)
End Function
Run Code Online (Sandbox Code Playgroud)
HasValidation 函数是从这里窃取的。
运行宏后,DropDownListToDefault
单击 DV 单元格后您将有以下选择:
请注意,在下拉列表中没有像“- Select from the list -
如果您希望用户从下拉列表中选择某些内容”这样的项目,只需在进一步处理中不接受默认值即可。