excel - 优化宏:表格清空内容
问题描述
我经常使用 Excel 表格。当我尝试使用公式、其他宏等时,我使用一个非常简单的宏来清除表……因为我不想删除指定的表,所以我锁定了它们。我有 5000 到 10000 个单元格要清除,这非常长,因为我的计算机并不是真正为此类任务而构建的。
这是我的实际宏,它运行良好,但为了更快,我可以改变一些东西吗?我知道逐个检查所有单元格需要很长时间,但我真的有选择吗?我必须准确说明一个表已完全清除或根本没有清除(锁定)而且我无法准确说明要清除或不清除的表的名称,因此我选择遍历每个表并仅在未锁定时进行清理.
Sub RaZ_activesheet_table()
Dim tbl As ListObject
Dim retour As Long
Dim c As Range
Application.ScreenUpdating = False
retour = MsgBox(Prompt:="Vider les tableaux?", Buttons:=vbOKCancel)
If retour = vbOK Then
For Each tbl In ActiveSheet.ListObjects
For Each c In Range(tbl.Name)
If c.Locked = False Then
c.ClearContents
End If
Next c
Next tbl
End If
Application.ScreenUpdating = True
End Sub
解决方案
我找到了这个解决方案。如果:
- 你先解锁你所有的手机
- 接下来,保护您不想清除的单元格
- 最后,您需要使用第一个选项添加工作表保护
之后,您可以应用这个简单的代码:
sub test()
On Error Resume Next
ActiveSheet.UsedRange.Value = vbNullString
On Error GoTo 0
end sub
在你的情况下,你会有这样的事情:
Sub RaZ_activesheet_table()
Dim tbl As ListObject
Dim retour As Long
Dim c As Range
Application.ScreenUpdating = False
retour = MsgBox(Prompt:="Vider les tableaux?", Buttons:=vbOKCancel)
If retour = vbOK Then
For Each tbl In ActiveSheet.ListObjects
On Error Resume Next
tbl.UsedRange.Value = vbNullString
On Error GoTo 0
Next tbl
End If
Application.ScreenUpdating = True
End Sub
推荐阅读
- javascript - 检查通过 v-model 绑定到 false 值的 Vue.js 复选框
- javascript - 单个元素的打字效果
- wildfly - JBeret-UI 支持多种休息服务
- google-apps-script - Google 表格 - 每天重复主标签页,按日期重命名并隐藏以前的重复项
- python - 根据 Pandas 中上述行的值删除字符串中的第一个单词
- python - 如何在python中的线程中传递参数
- algorithm - 根据发出请求的用户返回 typeahead 查询结果的方法
- java - azkaban install gradlew 指定java位置
- import - 如何使用名称作为字符串导入 python 文件
- google-chrome - Devtools 无法在 Windows 上的 Chrome 版本 84.0.4147.89 (Build official) 中加载 SourceMap