【问题标题】:EXCEL VBA Check if entry is empty or not 'space'EXCEL VBA 检查条目是否为空或不是“空格”
【发布时间】:2012-12-16 01:07:23
【问题描述】:

注意。使用TextBox1.Value = "" 可以轻松检查TextBox1 是否为空。

但问题是当用户点击spacebar 时,TextBox1 仍然会将其识别为一个值。在这种情况下,我的数据将显示为一个空单元格,其中包含 1 space。所以我的问题是,有没有什么方法可以检查TextBox1.value 是否为空并且不包含space 是否有1 个或多个space?万分感谢。

【问题讨论】:

    标签: excel vba space


    【解决方案1】:

    一个常见的技巧是这样检查:

    trim(TextBox1.Value & vbnullstring) = vbnullstring
    

    这适用于空格、空字符串和真正的空值

    【讨论】:

    • 尊敬的先生,这非常有效!但它有更短的版本吗?我必须为每个 TextBox 键入或复制/粘贴吗?
    • 您可以使用 "" 代替 vbNullString。 (vbNullString 只是一个指向常见“”实例的内部指针)。但我不担心表达式的长度——它存储在标记中,所以长度无关紧要。要节省输入,您可以使用 Ctrl-C/Ctrl-V 复制/粘贴表达式并根据需要进行更改。
    • 运行良好。从现在开始,我将使用Trim(TextBox1.Value & "") = ""。再次感谢您:)
    • 使用 vbNullString 实际上是一个更好的选择,因为它需要更少的字节大小来执行。
    【解决方案2】:

    我能想到的最简洁的版本

    Len(Trim(TextBox1.Value)) = 0
    

    如果您需要多次执行此操作,请将其包装在一个函数中

    Public Function HasContent(text_box as Object) as Boolean
        HasContent = (Len(Trim(text_box.Value)) > 0)
    End Function
    

    用法

    If HasContent(TextBox1) Then
        ' ...
    

    【讨论】:

    • 亲爱的先生,这也很棒。我肯定会在我的项目中使用它。我正在检查很多 TextBox,这将节省时间。非常感谢!
    • 它给了我一个错误Type mismatch。知道这是怎么发生的吗?
    • 可能是因为 TextBox 类。我在这里将其更改为对象,因此应该更正它!
    • 将比较从=改为>,以更好地体现HasContents的含义
    【解决方案3】:

    这是检查值是否存在的代码。

    If Trim(textbox1.text) <> "" Then
         'Your code goes here
    Else
         'Nothing
    End If
    

    我认为这会有所帮助。

    【讨论】:

    • 您的代码不起作用,先生。它不检查空格键。顺便说一句,我已经在上面标记了答案,我也非常感谢您更快的回复。再次感谢您!
    • 此代码将从文本框中的值中删除开始和结束空格。代码必须有效,请问您遇到的错误是什么。
    • 对不起,我的误解。我的意思是我想检查用户是否点击了 TextBox1 中的spacebar。您的代码不检查单个和多个space。我想要的是只检查 space 而没有任何其他字母数字。
    • 那么这段代码也可以工作。例如,如果我只在文本框中输入了一个空格而没有其他任何内容,那么此代码将认为该文本框包含 null。如果你想考虑空间,那么你可以是 keyascii 功能。
    • 我已经修改了你的代码,我认为Trim(textbox1.text) &lt;&gt; ""中应该有=而不是&lt;&gt;。
    【解决方案4】:

    您可以使用以下代码检查文本框对象是否为空/空

    'Checks if the box is null
    
    If Me.TextBox & "" <> "" Then
    
            'Enter Code here...
    
    End if
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-19
      • 2014-04-11
      • 2020-07-28
      • 2013-06-08
      • 1970-01-01
      • 2011-03-20
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多