首页 > 解决方案 > 如果选中/取消选中复选框,则更改公共变量的值

问题描述

我创建了一个UserForm1并插入了一个CheckBox1.

现在,如果用户检查CheckBox1我想要被public variable调用CheckBox1_Value的值被分配1给它。
如果Checkbox1未选中,则应为变量分配值0

之后我想运行第二个VBA,将这个变量的值插入到Sheet1.Range("A1").


我尝试使用以下代码执行此操作:

1)用户窗体1:

Public CheckBox1_Value

Private Sub CheckBox1_Click()
If Filter_Data.CheckBox1.Value = True Then
    CheckBox1_Value = 1
    Else
    CheckBox1_Value = 0
    End If
End Sub

2) 模块

Sub Value_of_variable ()
Sheet1.Range("A1").Value = CheckBox1_Value
End Sub

上面的代码正在运行,没有任何错误消息,但public variable没有输入的值Sheet1.Range("A1")。单元格保持为空,因此我假设该值未正确分配/提取到variable.

我需要更改什么才能使其正常工作?

标签: excelvba

解决方案


要切换a Boolean,您可以执行以下操作...

CheckBox1.Value = Not CheckBox1.Value 

If如果这是您唯一需要做的事情,则不需要完整的声明。


推荐阅读