单击复选框创建用于锁定单元格范围的宏

时间:2017-10-07 11:04:53

标签: excel vba excel-vba

我想通过点击复选框锁定Excel中的某些范围的单元格。 1.我正在添加developer>>Insert>>ActiveX Checkbox的复选框。

现在我看起来当点击复选框单元格范围A1:A30时应该锁定,当我单击取消选中复选框时,它应该提示我弹出以提供密码,然后解锁上面的单元格范围

1 个答案:

答案 0 :(得分:1)

转到感兴趣的工作表并:

1)单击左上角的灰色三角形以选择所有单元格

2)右键单击格式化单元格

3)确保勾选锁定框

4)转到“审核”标签并选择“保护表”并输入您的密码,例如“密码”

在与复选框关联的代码中,您将获得以下内容。它应该给你一般的元素。

Private Sub CheckBox1_Click()
Dim wb as Workbook
Dim ws as Worksheet
Dim myRange as Range
Dim response As String

Set wb = ThisWorkbook
Set ws = wb.Sheets("mySheetName") 'Change as appropriate
Set myRange = ws.Range("A1:A2") 'Change as appropriate

If CheckBox1.Value = True Then 
    'unlock range  
   response = InputBox("Enter Password")
   If response <> "password" Then 
       Exit Sub 'Or other response such as loop to prompt again
   Else
       ws.Unprotect Password:="password"
       myRange.Locked = False
   End If
Else 
   'range should be locked
    ws.Unprotect Password:="password"
    myRange.Locked = True
End If

ws.Protect Password:="password"

End Sub

您需要锁定VBA项目,以便人们无法进入VBE并检索密码。

有关锁定的一些信息:

VBA Unlock Range