EXCEL 区域保护用VBA录入密码后编辑

如题所述

Sub xxx()
    ActiveSheet.Unprotect 1
End Sub追问

谢谢你,试了一下,好像不行,SHEET1中共有三个允许用户编辑保护区域,区域1密码为1,区域2密码为2,区域3密码为3,在工作表保护(密码为4)后,如何才能在不解除工作表保护的前提下,用VBA输入区域1密码1后可对区域1进行编辑。谢谢,可以解答一下吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-27

因为直接更改保护,影响较多,并且输入密码也会和单元格内容有冲突,所以建议

    先将可以编辑的每个单元格设置不锁定

    添加一个Textbox1控件,覆盖住B3

    设置控件大小、位置随单元格变动而变动,控件背景色可以设置黄色(根据需要),边框类型BorderStyle=1,

     

    Private Sub TextBox1_Change()
    '输入正确密码后隐藏TextBox1,漏出后面的可编辑单元格 
        If TextBox1.Text = "abc" Then
            TextBox1.Visible = False
            
        End If
        
    End Sub
    Private Sub Worksheet_Change(ByVal Target As Range)
    '单元格更改后再显示出TextBx1,把单元格覆盖住。 
        If Target.Address = Range("B3").Address Then
            TextBox1.Text = ""
            TextBox1.Visible = True
        End If
    End Sub

    注:设计完,设置控件后要退出设计模式;还有设置保护工作表

本回答被提问者和网友采纳
相似回答