网站首页 > 技术文章 正文
问题:
有的Excel工作簿内含有很多碎片化的数据有效性规则,多选后点击数据有效性菜单,会被提示因为有多个类型而需要清除,(如下图)。
只能每个工作表全选然后确认清除,操作起来比较麻烦。
万能的VBA,能不能一键删除所有数据有效性规则?
当然可以。先看下效果。
VBA程序效果:
Talk is cheap, show me the code.
VBA程序源码:
Sub deleteAllDataValidationsA() 'v 0.1 '2024-05-27 'ExcelVBA持续超越@头条 jeffreyjcli-at-qq.com
On Error Resume Next
If Not MsgBox("Delete all data validation rules in activeworkbook? " & vbCrLf & _
"是否删除当前工作簿所有数据有效性规则?", _
vbQuestion + vbYesNoCancel + vbDefaultButton1 + vbSystemModal) = vbYes _
Then Exit Sub
Application.ScreenUpdating = False
DateTime0 = Timer
For Each wst In ActiveWorkbook.Sheets
For Each rng In wst.UsedRange
rng.Validation.Delete
If Err.Number = 0 Then
ii = ii + 1
Else
Err.Clear
End If
Next
Next
DateTime1 = Timer
Application.ScreenUpdating = True
MsgBox " Done. Have deleted " & ii & " data validations. Time elapsed:" & vbCrLf & _
"完成. 已删除 " & ii & " 个数量数据有效性规则,共用时:" & vbCrLf & _
Round(DateTime1 - DateTime0, 3) & " s."
End Sub
拓展
不像条件格式管理对话框那样,Excel没有界面可以批量操作多个选区的数据有效性,
所以很难知道每个规则应用的具体范围。
其实可以创建VBA程序,将所有数据有效性规则显示出来,以方便管理;
还可以合并碎片化的数据有效性,使得每一列或相似区域的数据具有更好的一致性。
PS
如果需要批量处理多个工作簿,或者需要插件随时在任意工作簿一键运行的话,可以私信我。
OK. 分享完毕。感谢您的关注、点赞、收藏与点评。下期见~
#头条创作挑战赛##Excel##excel##Excel技巧##职场excel小技巧##vba#
《Excel VBA 从入门到封神系列之进阶篇》:Excel工作簿大瘦身:一键删除无用的数据验证
- 上一篇: 电脑快捷指令误删文件怎么办?四种方法找回
- 下一篇: 正确卸载SQLSERVER的方法详解
猜你喜欢
- 2024-11-19 正确卸载SQLSERVER的方法详解
- 2024-11-19 sd卡文件删除了怎么恢复数据?sd卡删除数据恢复教程
- 2024-11-19 电脑快捷指令误删文件怎么办?四种方法找回
- 2024-11-19 Photoshop快捷键
- 2024-11-19 使用Excel删除重复数据所在的行,多种方法教你解决不同情况
- 2024-11-19 全程软件测试(七十九):MySQL数据表删除及简单查询—读书笔记
- 2024-11-19 PS快捷键,你知道哪些?
- 2024-11-19 Photoshop 抠图有哪些方法和技巧?
- 2024-11-19 任达华这个自救动作被点赞!5种外伤紧急处理方法速看
- 2024-11-19 删除图层和复制图层的方法,你学废了吗?#ps小技巧
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-