【问题标题】:Assign variable with IIF statement使用 IIF 语句分配变量
【发布时间】:2017-07-10 23:40:26
【问题描述】:

尝试使用 TextBox1 的值声明变量“shipping”,但前提是 TextBox1 不为空。如果它是空的,我希望变量说 0。

我的代码没有这样做。仍然为空。

此外,同样的规则将适用于许多其他文本框,我如何在公共函数中设置此规则以使其可重用?

Dim shipping As String
shipping = IIf(Ismpty(TextBox1.Value), 0, TextBox1.Value)

【问题讨论】:

  • Ismtpy - 只需使用IsNothing()
  • 或者至少拼写成IsEmpty
  • 您将0 分配给String
  • @JeremyThompson IsNothing 是 VB.NET,在 VBA 中不存在 :) 除了@OP,我最喜欢的选项是检查 Len(Trim(TextBox1.Value))=0
  • @A.S.H 你是对的,但是 Is 和 Nothing 都是有效的 VBA TextBox1.Text Is Nothing

标签: vba textbox iif


【解决方案1】:

试试这个:

案例 1 - “shipping”的期望输出是一个数字

Dim shipping As Double
shipping = IIf(IsNumeric(TextBox1.Value), TextBox1.Value, 0)

案例 2 - “shipping”的期望输出是一个字符串

Dim shipping As String
shipping = IIf(TextBox1.Text <> "", TextBox1.Text, "0")

【讨论】:

  • 我只得了 11 分,接受我的问题将有助于接近 :-)
  • 嗨@joell 不要担心你很快就会积累这么多积分,以至于你会发现很难跟踪:)。无论如何,我问你关于接受(不要与投票混淆)以表明它不再是一个开放项目。只接受答案,没有接受问题的选项
猜你喜欢
  • 2013-05-07
  • 1970-01-01
  • 1970-01-01
  • 2011-09-09
  • 2014-03-05
  • 2014-12-04
  • 1970-01-01
  • 2018-09-05
  • 1970-01-01
相关资源
最近更新 更多