Microsoft表格-如果复选框单元格的值大于

时间:2018-07-31 14:09:58

标签: vba forms ms-word word-vba

此论坛上的第一篇文章-我有一个可填写的表格,我想做以下事情。

有两个复选框(旧式表单项),分别标记为H和N,取决于选择了哪个复选框,另一个输入框(旧式表单项)的值应等于或大于一个值。例如,如果选择N,则输入单元格应大于0.5;如果选择H,则输入单元格应等于或大于0.5。

任何人都可以对此发表任何见识,然后我将根据用户输入的复选框选项和输入到单元格中的值,将其设置为在用户输入值后运行检查。

预先感谢, 丹尼尔

1 个答案:

答案 0 :(得分:0)

您有3个对象,您需要对任何更改做出反应。因此,我将这样的代码放入表单的代码部分:

Private Sub cbN_Click()   ' name of checkbox N is cbN
     proc_chg
End Sub

Private Sub cbH_Click()
     proc_chg
End Sub

Private Sub tbx_Change()  ' name of textbox is tbx
     proc_chg
End Sub

Private Sub proc_chg

    Dim rVal as Single

    rVal = Val(Me.tbx.value)

    If cbN And rVal > 0.5 Then
         tbx.BackColor = vbGreen   ' OK
    ElseIf cbH And rVal >= 0.5 Then 
         tbx.BackColor = vbGreen   ' OK
    Else
         tbx.BackColor = vbRed   ' wrong
    End If

End Sub

这将捕获表单上的所有更改,并相应地设置输入框的背景色。 (请完成proc_chg中的逻辑,这只是一个示例。)