excel表格如何添加一个按钮,点击一下自动清除没有锁定的单元格的数据
因为单元格里有很多公式,所以我把有公式的和不需要改动的单元格全部都锁定了,只留下平时需要填写数据的单元格没有锁定,然后设置了工作表保护,使锁定的单元格无法被修改,但是因为...
因为单元格里有很多公式,所以我把有公式的和不需要改动的单元格全部都锁定了,只留下平时需要填写数据的单元格没有锁定,然后设置了工作表保护,使锁定的单元格无法被修改,但是因为要填写数据的单元格很散,一个一个的清除很麻烦,如何设置一个按钮一键自动清除所有 可以填写数据的地方的单元格的数据?
我只知道这个方法
Sub 清除年末()
Range("D16,D18:D19,D28:D29,D32,D34,H7,H15,H19,H21").ClearContents
End Sub
有没有简单的 直接判断是否是锁定的单元格,未锁定的话就直接清除呢? 展开
我只知道这个方法
Sub 清除年末()
Range("D16,D18:D19,D28:D29,D32,D34,H7,H15,H19,H21").ClearContents
End Sub
有没有简单的 直接判断是否是锁定的单元格,未锁定的话就直接清除呢? 展开
展开全部
Public Sub 清除未锁定数据()
Dim PDsj As Range
For Each PDsj In ActiveSheet.UsedRange
If PDsj.Locked = False Then
PDsj.ClearContents
End If
Next PDsj
End Sub
追问
成功了 谢谢大神,还想问下,如果我想再进一步,把这个按钮,放在其中一个sheet里面,我想清除所有sheet(比如我这个表格有6个工作表sheet1--sheet6)里未锁定的数据要怎么做呀?还有,怎么把屏幕刷新关闭?因为点击按钮之后显示一个一个的删除,感觉太慢了
追答
Public Sub 清除工作簿未锁定数据() '用于整个工作簿
Dim PDsj As Range
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In Worksheets
For Each PDsj In Sh.UsedRange
If PDsj.Locked = False Then
PDsj.ClearContents
End If
Next PDsj
Next Sh
Application.ScreenUpdating = True
End Sub
速度的快慢不完全取决于屏幕刷新,和你表格使用区域的大小有关系,毕竟是一个一个单元判断的,其实你写的确定的单元格才是最快的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询