Excel最强加密方法来了,1个sheet1个密码,互不影响!

B站影视 韩国电影 2025-08-07 19:25 1

摘要:随后继续点击插入控件,来插入一个按钮,插入按钮后也是点击控件,点击右键找到【属性】做2处修改,【名称】更改为【btnUnlock】然后将【Caption】更改为【确定】最后调整下大小,放在一个合适的位置即可

昨天有学员问道:如何将Excel中的工作表,每个工作表设置不一样的密码,只有输入密码,才能看到对应的数据,防止数据泄露。

想要实现这样的效果,通过Excel中的默认功能是不能行,只能通过VBA代码了,我们来具体演示下

一、登录界面

首先我们需要新建一个sheet,并且将其的工作表名称名称为:登录界面,之后就需要在当前的窗口中来插入控件了

随后继续点击插入控件,来插入一个按钮,插入按钮后也是点击控件,点击右键找到【属性】做2处修改,【名称】更改为【btnUnlock】然后将【Caption】更改为【确定】最后调整下大小,放在一个合适的位置即可

二、代码1

Private Sub Workbook_Open
' 工作簿打开时隐藏所有数据表,只显示登录界面
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name "登录界面" Then ws.Visible = xlSheetVeryHidden
Next ws
Sheets("登录界面").Visible = xlSheetVisible
End Sub

三、代码2

密码与工作表的名称需要根据自己的实际数据修改,在下面的代码中,左侧的是密码,右侧的是工作表名称,只需修改双引号中的内容为自己的数据即可

最后将文件的格式另存为XLSM格式,保存文件,关闭文件,重新打开即可,到此设置完毕

Private Sub btnUnlock_Click
Dim targetSheet As String
Dim pwd As String
Dim sheetFound As Boolean

pwd = txtPassword.Text
sheetFound = False

' 定义工作表密码映射(实际使用中建议加密存储)
Select Case pwd
Case "pass1": targetSheet = "财务部" ' 确保名称与实际表名一致
Case "pass2": targetSheet = "行政部"
Case "pass3": targetSheet = "人事部"
Case "pass4": targetSheet = "市场部"
Case "pass5": targetSheet = "总经办"
Case Else
MsgBox "密码错误!", vbCritical
Exit Sub
End Select

' 检查工作表是否存在
On Error Resume Next
sheetFound = (Not Sheets(targetSheet) Is Nothing)
On Error GoTo 0

If sheetFound Then
' 显示目标工作表
Sheets(targetSheet).Visible = xlSheetVisible
Sheets(targetSheet).Activate

' 清空密码框
txtPassword.Text = ""
Else
MsgBox "错误:找不到工作表 '" & targetSheet & "'!", vbCritical
End If
End Sub

以上就是今天分享的全部内容,大家可以试一下,操作还是比较简单的~

想要提高工作效率,不想再求同事帮你解决各种Excel问题,可以了解下我的专栏,WPS用户也能使用,讲解了函数、图表、透视表、数据看板、AI做表格等功能

来源:涵涵课堂

相关推荐