首页 > 解决方案 > 有条件地使用 VBA “检查”复选框

问题描述

我正在尝试获取复选框黄金列中的一个框,您可以在左侧看到该框,以检查原始计划下是否存在相应列中的日期以及复选框白色列中的框以检查是否日期显示在更新估计下的相应列中。

在这方面非常新,我已经玩了一段时间了,但无法让它正常工作。

这是我正在谈论的工作表:
这是我正在谈论的工作表

标签: excelvba

解决方案


这些类似于 ActiveX 复选框,因此这就是此答案将适用的内容。如果不是这种情况,那么希望这在 5 年后仍然可以帮助其他人。

无论如何,假设您将复选框命名cb_A1为左侧复选框和cb_B1右侧复选框。您可以通过在复选框名称之前附加工作表的代号来更改这些复选框的值。例子:

Sheet1.cb_A1.Value = True
' ^^^   ^^^
'  |     ↳ Name of Checkbox
'  ↳ Sheet's Codename

由于您的图像不包含列标题,我们假设Orginal Date的列是E. 您可以在此列中执行检查,如下所示:

If IsDate(Sheet1.Range("E1")) And Sheet1.Range("E1").Value > 0 Then 
    Sheet1.cb_A1.Value = True
Else
    Sheet1.cb_A1.Value = False
End If

推荐阅读