<返回更多

Excel批量保护隐藏公式,这篇足够

2020-10-13    
加入收藏

在开发Excel模板过程中,为了减少因为误操作等引起的数据发生偏差等问题,经常会把其中的公式保护起来,如果表格太多,操作起来就非常麻烦,所以,我们需要批量操作!
说批量操作之前,我们先来讲讲如何实现,单个保护!也是很多新手经常问的,一起来看动画演示,轻松搞定!
工作表保护

01 | 解除锁定

 

Excel批量保护隐藏公式,这篇足够

 

动画操作说明:1、点击左上角的三角,全选工作表,或者按住Ctrl,再按下两次A(Ctrl+A+A)也是可以全选工作表2、右击【设置单元格格式】-【保护】,取消【锁定】前面的√(默认全部锁定)

02 | 定位公式,锁定

 

Excel批量保护隐藏公式,这篇足够

 

动画操作说明:1、全选工作表后,按下Ctrl+G(或者【开始】-【定位条件】),在定位中,点击【公式】,确定!
2、Ctrl+1(或者右击【设置单元格格式】),把【锁定】√上,确定!这样我们就只锁定了公式区域,其他区域未锁定!

03 | 保护工作表

 

Excel批量保护隐藏公式,这篇足够

 

动画操作说明:1、点击【审阅】-【保护工作表】2、输入密码,再次输入密码,确定即可,如果只是保护,防止误操作,可以不设置密码,直接确定即可!
以上只是操作说明,没有更多的讲解,下面我们稍微总结一下,确保大家是搞懂,而不是一直去模仿,过几天就又忘了!
小结
Excel中保护工作表功能,只针对的是锁定的区域,未锁定的区域在保护状态下可以继续编辑。这也是我们为什么要先全部解除锁定,然后针对公式区域锁定的原因!如果我们除了公式区域,还有想要保护的,只要把对应区域锁定即可!
你以为这样就结束了吗?我们批量保护还没说不是!批量保护,我们使用VBA来处理,比较简单,我已经封装成了函数,大家可以在自己的宏中直接调用!

 


批量保护

 

效果演示:批量保护

Excel批量保护隐藏公式,这篇足够

 

动画操作说明:

1、批量保护:可以自定义密码,是否隐藏公式

2、批量取消:使用同一个函数,需要原密码和Unpro设置为True

3、如何使用宏教程:

如何使用写好的宏

 

保护和隐藏公式自定义函数源码:

Excel批量保护隐藏公式,这篇足够

 

 

源码:可直接调用


'**************************************************
'日期:2020年10月7日
'作者:Excel办公实战-小易
'功能:保护工作表公式(隐藏)
'参数:
    '1.ws-必选,需要保护的工作表对象
    '2.NewPassword-可选,保护的密码
    '3.OldPassword-可选,如果已保护,提供密码
    '4.bHidden-可选,是否隐藏公式
    '5.bUnPro-可选,取消保护
'***************************************************
Function ProSht(ByRef ws As Worksheet, _
    Optional ByVal NewPassword, _
    Optional ByVal OldPassword, _
    Optional ByVal bHidden As Boolean = True, _
    Optional ByVal bUnPro As Boolean = False)

    On Error Resume Next
    With ws

        '取消保护(如果已经保护过)
        If .ProtectContents Then
            If Not IsMissing(OldPassword) Then _
            .Unprotect OldPassword Else .Unprotect
        End If
        'bUnPro=True,取消保护-结束
        If bUnPro Then GoTo sEnd
        '全表取消锁定
        With .Cells
            .Locked = False
            .FormulaHidden = False
        End With
        '尝试定位公式并保护
        With .Cells.SpecialCells(xlCellTypeFormulas, 23)
            .Locked = True
            .FormulaHidden = bHidden
        End With
        '保护工作表
        If Err.Number > 0 Then Err.Clear Else .Protect NewPassword
    End With
sEnd:
End Function

分享、点赞、在看三连
假期已近尾声,小编也正式回归更新啦!这篇干货满满,喜欢的朋友,记得三连!有希望学习的知识点,给小编留言!

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>