首页 > 解决方案 > Microsoft Form - 如果复选框单元格值大于

问题描述

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

有两个复选框,(旧版表单项),分别标记为 H 和 N,根据选择哪个复选框,另一个输入框(旧版表单项)的值应等于或大于某个值。EG 如果选择 N,则输入单元格应大于 0.5 如果选择 H,则单元格应等于或大于 0.5。

任何人都可以在这个问题上传授任何智慧,然后我会根据复选框选项和单元格中输入的值将其设置为在用户输入值后运行检查。

在此先感谢,丹尼尔

标签: vbaformsms-word

解决方案


您有 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中的逻辑,这只是一个例子。)


推荐阅读