ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何实现打开工作表时需要密码?

如何实现打开工作表时需要密码?

作者:绿色风 分类: 时间:2022-08-17 浏览:148
楼主
悟空师弟
Q:如何实现打开工作表时需要密码?
A:VBA代码如下:(设工作簿中有“总表”、“财务部”两个工作表,按Alt + F11,双击Sheet2(财务部),录入如下代码:)
Private Sub Worksheet_Activate()
    x = InputBox("请提供正确的密码!")
        If x = 123 Then
            MsgBox "财务部欢迎您!"
        Else
            MsgBox "密码错误,请联系财务部总版主。"
            Sheets("总表").Select
        End If
End Sub
详见附件:
如何实现打开工作表时需要密码?.rar
2楼
mjgdxx
这段代码看懂了,谢谢
3楼
sam.tan
悟空版主,
按您目前的代码,点击窗口时虽然提示要输入密码,但同时也看到了工作表内的内容.
请问可不可以:
只有输入正确有密码时才能看到内容,进而下一步去编辑什么的...而在没输入密码
或错误码密码则看不到其内容呢?

谢解惑!打开工作表密码.gif
 
4楼
悟空师弟
→→→→→→→→→→→→→→
可以的,先隐藏所有单元格再取消隐藏所有单元格,加两句代码即可,代码如下:
Private Sub Worksheet_Activate()
    Cells.EntireRow.Hidden = True '隐藏所有单元格
    x = InputBox("请提供正确的密码!")
        If x = 123 Then
            MsgBox "财务部欢迎您!"
            Cells.EntireRow.Hidden = False '取消隐藏所有单元格
        Else
            MsgBox "密码错误,请联系财务部总版主。"
            Sheets("总表").Select
        End If
End Sub
详见附件:
如何实现打开工作表时需要密码?.rar
5楼
sam.tan
高人,谢谢悟空大师!
6楼
sam.tan
个人认为,这样进行密码设置才能显示“密码”的价值!
7楼
bonsewa
8楼
bsbyebye
这个非常好,我有个小要求是  当密码正确的时候能否不是所有隐藏属性取消而是指显示某一行 或指定行
9楼
悟空师弟
可以实现,参考下帖:
友情链接:
[Excel VBA] 如何实现打开工作表只显示指定行? http://www.exceltip.net/thread-17631-1-1.html
10楼
kevinchengcw
原来还可以这样
11楼
qinhuan66
好好学习天天向上
12楼
wanghaoyanni
VBA太牛了,学习了
13楼
李海宾
顶一下
14楼
李海宾
在10版中可以,可是在03中不能启用
15楼
Heart_is_Flying
受用
16楼
Heart_is_Flying
我有问题  如果密码输人错误的时候 他跳出会让选择调试还是结束,当选择调试的时候就进入代码编辑里就能看见密码了。这个怎么解决呢?
17楼
icenotcool


免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap