web-dev-qa-db-ja.com

EXCEL VBAエントリが空であるか、「スペース」ではないかを確認します

TextBox1が空かどうかを確認するには、TextBox1.Value = ""を使用します。

しかし、問題は、ユーザーがspacebarを押したときに、TextBox1がそれを値として認識することです。そのような場合、データは1 spaceが内部にある空のセルとして表示されます。私の質問は、TextBox1.valueが空で、spaceが1つ以上あるかどうかを確認する方法はありますかspace?すべてに感謝します。

28
4 Leave Cover

一般的なトリックは、次のように確認することです。

trim(TextBox1.Value & vbnullstring) = vbnullstring

これは、スペース、空の文字列、および真のヌル値に対して機能します

63
Lord Peter

私が考えることができる最も簡潔なバージョン

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
    ' ...
20
pyrospade

値が存在するかどうかを確認するコードは次のとおりです。

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

これが役立つと思います。

1