首页 > 解决方案 > 使用复选框锁定和解锁指定单元格

问题描述

如果我单击复选框,我需要一个简单的 VBA 代码来锁定单元格(或单元格范围)

例如 - 如果我点击一个复选框,单元格范围,例如 A1:A20 应该被解锁,然后我可以输入一些值;如果我取消选中该复选框,则单元格应被锁定

有人可以帮助我编写代码。它给我一个错误“无法设置范围类的锁定属性”

标签: excelvba

解决方案


试试这个(使用ActiveX Checkbox):

Private Sub CheckBox1_Click()
    Dim rng As Range

    Set rng = Worksheets("Sheet1").Range("A1:A20")

    ActiveSheet.Unprotect ""

    If Me.CheckBox1.Value Then
        rng.Locked = False
        rng.Interior.Color = RGB(255, 255, 255)
    Else
        rng.Locked = True
        rng.Interior.Color = RGB(220, 220, 220)
    End If

    ActiveSheet.Protect ""
End Sub

推荐阅读