首页 > 解决方案 > 当工作表受到保护时,不应标记/取消标记复选框

问题描述

我正在尝试制作一个在输入新数据时添加新复选框的宏,但只有在工作表不受保护时才应标记或取消标记。我尝试使用以下代码执行此操作:

Range("Z4").Select
ActiveCell.FormulaR1C1 = "=LOOKUP(2,1/(C[-15]<>""""),ROW(C[-15]))"
i = Range("Z4").Value + 1

    Cells(i, 19).Select
    ActiveSheet.CheckBoxes.Add(Cells(i, 19).Left, Cells(i, 19).Top, 60.75, 15).Select
    With Selection
            .Value = xlOff
            .LinkedCell = Cells(i, 30)
            .Display3DShading = False
    End With
    Selection.Characters.Text = "Pagado"

链接单元格被锁定的位置,因此在锁定时不应更改。

否则,其余代码将完美运行。

标签: excelvbacheckbox

解决方案


所以我通过这样做想通了,比我想象的更容易。只需将两个字符串加在一起,然后保护工作表并锁定引用的单元格。

Cells(i, 19).Select
ActiveSheet.CheckBoxes.Add(Cells(i, 19).Left, Cells(i, 19).Top, 60.75, 15).Select
With Selection
        .Value = xlOff
        .LinkedCell = "$CC$" & i
        .Display3DShading = False
End With
Selection.Characters.Text = "Pagado"

希望它可以帮助别人。


推荐阅读