Excel小技巧:使用这招快速保护你的工作表
excel中批量保护或者隐藏工作表效果:当更改b或者d列的条件,对应的工作表就被隐藏或者保护!经常需要将工作表发给老板或者同事,有的表又不想让他们编辑,赶快使用这招保护你的工作表吧:
第一步:批量提取工作表,可以做后续的工作表创建目录链接
按ALT+F11进入vba编辑器,右键插入一个模块,输入以下代码:
Sub 提取表名()
Application.ScreenUpdating = False 取消屏幕更新
Dim i As Integer 定义变量
Sheet9.Cells(1, 3) = “表名” 目录(sheet9)中C1中输入“表名称”
For i = 2 To Sheets.Count 从第2个到最后一个表
Sheet9.Cells(i, 3) = Sheets(i).Name 一直循环取表名放在c列
Next
MsgBox (“提取完毕”) 弹出提示框
Application.ScreenUpdating = True 屏幕可以更新
End Sub
二、指定宏,插入一个命令按钮
三、批量隐藏工作表
Sub 隐藏或者取消隐藏()
Application.DisplayAlerts = False
Dim sht As Worksheet
Dim i, irow As Integer
irow = Sheet9.Range(“c65536”).End(xlUp).Row 确定c列最后一个空行行号
For i = 2 To irow
If Sheet9.Range(“b” & i) = “隐藏” Then
For Each sht In Sheets
If sht.Name = Sheet9.Range(“c” & i) Then 判断c列中如果有隐藏
sht.Visible = 0 工作表可见性为0即隐藏
End If
Next
ElseIf Sheet9.Range(“b” & i) = “” Then
For Each sht In Sheets
If sht.Name = Sheet9.Range(“c” & i) Then
sht.Visible = -1 如果为空就取消隐藏
End If
Next
End If
Application.DisplayAlerts = True
Next
End Sub
如果是要批量保护或者取消保护就可以修改代码
四、调用宏代码,更改工作表事件
为了防止我们每一次更改条件后都要去执行代码,我们可以在目录表中修改工作事件为【change】就是当这个表中发生了变化就自动帮我们执行保护或者隐藏工作表的代码!
Private Sub Worksheet_Change(ByVal Target As Range)
Call 隐藏或者取消隐藏
Call 保护或者取消保护
End Sub
最后一步步就是将工作表保存为启用宏的工作簿!不然我们写的代码不能保存啦!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2305938578@qq.com 举报,一经查实,本站将立刻删除。本文网址:https://www.excelwordppt.com/word-excel-ppt/4193.html