根据多个文本框值执行任务

萌奈

我正在学习 VBA。两件事情:

  1. 有没有比那条长的 elseif 命令更有效的东西(我试图找到最低的文本框值)
  2. 形状根据最低的文本框值出现在我的 Excel 工作表中。这有效,但仅当我更改有意义的 NBInv 文本框时才有效。但是,这不是我想要我的程序做的事情。我希望它不断监视每个文本框的值并找到最低的值。

示例代码:

Private Sub NBInv_Change()

    If NBInv.Text = "0" Or NBInv.Text = "" Then
        ActiveSheet.Shapes("NFlow").Visible = False

    ElseIf NBInv.Value < NEBInv.Text And NBInv.Text < NEBInv.Text _
    And NBInv.Text < EBInv.Text And NBInv.Text < SEBInv.Text _
    And NBInv.Text < SBInv.Text And NBInv.Text < SWBInv.Text _
    And NBInv.Text < WBInv.Text And NBInv.Text < NWBInv.Text Then
        ActiveSheet.Shapes("NFlow").Visible = True
        ActiveSheet.Shapes("FlowNFalse").Visible = False
    End If
End Sub
变异

您可以简化在代码中设置 Visible 属性。Val(NBInv.Value)将为所有非数字值和数字返回0。CBool​​()将0转换为False,并将所有其他转换为True。

Private Sub Solution()
    Dim HasValue As Boolean

    HasValue = CBool(Val(NBInv.Value))
    ActiveSheet.Shapes("NFlow").Visible = HasValue
    ActiveSheet.Shapes("FlowNFalse").Visible = Not HasValue
End Sub

以下函数将返回列出的所有控件中值最低的那个。

私有函数最小()

Dim Fun As Variant
Dim Tmp As Variant
Dim Inv() As String
Dim i As Integer

Inv = Split("NBInv NEBInv EBInv SEBInv SBInv SWBInv WBInv NWBInv")
Fun = 10 ^ 6
For i = 0 To UBound(Inv)
    Tmp = Val(ActiveSheet.OLEObjects(Inv(i)).Object.Value)
    If Tmp < Fun Then Fun = Tmp
Next i
Smallest = Fun 

结束函数

变量 Fun 必须设置为比您希望在文本框中遇到的任何值都大的值。我选择了 10^6。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

选择主机以根据多个条件执行任务

来自分类Dev

根据在文本框中输入的值,使用javascript打开多个文本框

来自分类Dev

根据下拉值启用文本框

来自分类Dev

获取多个循环文本框的值

来自分类Dev

并行运行多个执行任务

来自分类Dev

根据所选组合框值更改文本框的值

来自分类Dev

根据具有if条件的多个文本框表达式值将值分配给表单上的文本框-MS ACCESS

来自分类Dev

Javascript根据文本框值从MS Access检索值

来自分类Dev

如何根据下拉列表选择填充多个文本框?

来自分类Dev

SBT:使用其他任务值执行任务

来自分类Dev

使用jQuery根据文本框的值隐藏或过滤div

来自分类Dev

根据下拉值MVC PHP填充文本框

来自分类Dev

如何根据复选框值验证文本框

来自分类Dev

根据角度中的输入参数更改文本框值

来自分类Dev

根据文本框值启用和禁用按钮

来自分类Dev

使用jQuery根据文本框的值隐藏或过滤div

来自分类Dev

根据其值隐藏文本框

来自分类Dev

根据角度中的输入参数更改文本框值

来自分类Dev

文本框验证根据下拉值起作用

来自分类Dev

根据int值选择一个文本框

来自分类Dev

如何根据angularjs中的下拉值验证文本框?

来自分类Dev

JavaScript无法在HTML中执行文本框值

来自分类Dev

jQuery验证文本框1,如果文本框2中存在相同的多个值

来自分类Dev

根据Go中的依赖关系执行任务

来自分类Dev

Ansible-根据Linux服务状态执行任务

来自分类Dev

如何根据 Stripe API 错误响应执行任务

来自分类Dev

并行执行任务

来自分类Dev

定期执行任务

来自分类Dev

将多个文本框值绑定到单个属性