| 
    
     |  | nobuyuki さん かみちゃん さん
 こんばんは。
 
 >なお、大変ずうずうしく追加質問したいのですが、お答えいただけませんでしょうか?
 >
 >以前にワークシート上の例えば A1セルにIsEmpty関数を
 >使って実現できたので、全く同様にUserForm1でも可能と考え試しました。
 >そもそもUserForm1ではIsEmpty関数は使用不可なのでしょうか?
 
 Emptyとは、Variant型の変数でまだどの型にも属していない状態です。
 例えば、以下のコードを実行してみて下さい。
 '================================================
 Sub test()
 Dim string_data As String
 Dim long_data As Long
 Dim variant_data As Variant
 MsgBox "string_data: " & string_data & "---" & IsEmpty(string_data)
 MsgBox "long_data: " & long_data & "---" & IsEmpty(long_data)
 MsgBox "variant_data: " & variant_data & "---" & IsEmpty(variant_data)
 'IsemptyがTrueを返すのは↑のみです。
 string_data = ""
 long_data = 0
 variant_data = ""
 MsgBox "string_data: " & string_data & "---" & IsEmpty(string_data)
 MsgBox "long_data: " & long_data & "---" & IsEmpty(long_data)
 MsgBox "variant_data: " & variant_data & "---" & IsEmpty(variant_data)
 string_data = "aa"
 long_data = 12
 variant_data = "aa"
 MsgBox "string_data: " & string_data & "---" & IsEmpty(string_data)
 MsgBox "long_data: " & long_data & "---" & IsEmpty(long_data)
 MsgBox "variant_data: " & variant_data & "---" & IsEmpty(variant_data)
 end sub
 
 これを踏まえ、
 UserformのTextboxのTextプロパティを考えると
 これそもそもString型ですのでIsEmptyでTrueは返りません。
 
 又、仮にTextプロパティがVariant型だとしても
 Textbox内での内部コードで
 
 Text=""
 
 というコードが実行されていれば
 
 もはやEmptyではありません
 (理由は、上記のコードの実行でお分かりだと思います)。
 
 よって、この場合は、かみちゃん さん
 記述されているように
 
 If TextBox1.Text <> "" Then
 
 という判断が間違いのない方法だと思います。
 
 |  |