【问题标题】:VBA - Prevent users from saving unless checkbox is checkedVBA - 除非选中复选框,否则阻止用户保存
【发布时间】:2018-02-06 00:14:12
【问题描述】:

我使用此宏是为了防止用户保存工作簿,除非他们接受带有复选框注释的条款和条件。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    MsgBox "Please accept the terms and conditions"
    Cancel = True

End Sub

但是这个宏会阻止用户无限期地保存。我怎样才能让用户必须选中一个复选框才能保存?

谢谢!

【问题讨论】:

  • 使用 If CheckBox1.Value = false Then cancel = true
  • 最短的方法:If CheckBox1.Value = false Then cancel = true 是:cancel = CheckBox1.Value

标签: excel vba checkbox ms-office


【解决方案1】:

试试

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Cancel = Not Worksheets(2).CheckBoxes(1).Value = 1
    If Cancel Then MsgBox "Please accept the terms and conditions"
End Sub

我假设的地方:

  • Worksheets(2) 是带有相关复选框的工作表
  • 相关复选框是工作表中的第一个 否则根据您的实际情况进行更改

【讨论】:

  • 完美!复选框在第一个工作表中,所以我只是更改了 Worksheets(1)。
猜你喜欢
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
  • 2021-09-19
相关资源
最近更新 更多