【问题标题】:If a cell is changed, set checkbox = True [Excel VBA]如果更改单元格,请设置复选框 = True [Excel VBA]
【发布时间】:2018-07-14 21:40:06
【问题描述】:

如果用户对特定单元格进行了更改,请将复选框设置为 True。我怎样才能创建这个?我应该使用表单域复选框还是 ActiveX 复选框?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    表单字段复选框或 ActiveX 复选框都可以使用,但我使用 ActiveX 复选框。检查 Worksheet_Change 事件

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = CELL("A1") Then
        CheckBox1.Value = True
    End If
    End Sub
    

    或者类似上面的代码

    【讨论】:

      【解决方案2】:

      如果你想知道用户是否改变了固定初始值的值,你可以在没有 VBA 的情况下做到这一点:

      1. 假设 A1 的默认值为“Default”
      2. 在B1中放一个公式,检测是否发生变化:=A1<>"Default"
      3. 插入复选框表单控件
      4. 格式化控件以将 B1 设置为单元格链接

      手动单击控制框会覆盖公式,但您可以通过保护 A1 不受保护和 B1 受保护的工作表来防止这种情况发生。

      【讨论】:

        【解决方案3】:

        您可能可以使用 vba 和子类型 Worksheet_Change 创建它。 看这个帖子enter link description here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多