推しミネラルウォーターはありますか?

VBAについての質問です。(オフィス2003)
フォーム1にテキストボックス1を作成しました。

Module1に
Sub test()
If Form_フォーム1.テキスト1.Value = "" Then
MsgBox "空白です"
End If
End Sub

とコードを書き、テキストボックス1を空白の状態でtestを実行しても何も起こりません。
F8で一行づつ実行してみてみたら
Form_フォーム1.テキスト1.Valueのところにカーソルを当てると
Form_フォーム1.テキスト1.Value=Nullとなります。

どうすればテキストボックス1が空白なら「空白です」と表示させることが可能でしょうか?
よろしくお願いします。

A 回答 (3件)

>MsgBox "空白です"


の所を
Form_フォーム1.テキスト1.Value="空白です"
に置き換えてみてください
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2008/10/23 09:28

使用しているソフトの種類ぐらい、質問する場合書くこと。


オフィスといってもプロフェショナルにはアクセスも入っているようだし。
アクセスらしいが
エクセルVBAでやってみると
標準モジュールに
Sub test()
If UserForm1.TextBox1.Value = "" Then
MsgBox "空白です"
End If
End Sub
を貼り付け、実行ーSUB/ユーザーフォームの実行、をすると
「空白です」となる。ユーザーフォームのことは質問に触れてないが
ウラで表示されて、Testが実行されるようだ。
しかし普通はフォームのInitiarizeとかフォームの表示とか、その後ボタンのクリックとか、いわゆるイベントとか、Testに入ってくる
前のステップ、実行のきっかけがあるはず。
その辺のことを良く考えてみる必要があるのでは。
人手操作でフォームを表示させると、Test自身を実行する場面が与えられないはず。フォームを表示したとき、その上のコントロールの暗黙の初期値も、勉強する必要があるかもしれない。
    • good
    • 0
この回答へのお礼

すいませんでした。
以後気をつけます。
ご回答ありがとうございます。

お礼日時:2008/10/23 09:30

フォームってどのソフトのフォーム?


Nullが出てくるところを見るとAccessかな?

Nullは値ではないので=では調べられません
IsNull関数で調べます

If IsNull(Form_フォーム1.テキスト1.Value) Then
    • good
    • 0
この回答へのお礼

そうです。
アクセスです。説明不足ですいません。
できました!ご回答ありがとうございます。

お礼日時:2008/10/23 09:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!