- - PR -
Excel VBA での値判断について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-09-19 11:20
セルに入力規則でリストボックスを作成しました。
(リストボックスの中は1〜4の数字です。) 入力規則で、空白を許可しています。 このセルが空白の時、値は何がはいるのでしょうか? Nullだと思い、セルの値 = Nullか?というIf文で処理を行っているのですが、 この条件文だと、Elseへいってしまいます。 今度は、変数をStringで作って、 セルの値を変数へセットして、変数の値 = Nullか?とすると、 コンパイルエラーになり、型が一致しないといわれてしまいます。 知っている方がいらっしゃったら、教えてください。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2008-09-19 11:55
ステップ実行で、if文通過時のセルの値を調べることができます。
ツールチップヒント(名前が違うかも)やウォッチ式を使います。 | ||||||||
|
投稿日時: 2008-09-19 12:29
値が何か、という質問への回答ではありませんが……
セルが空かどうかの判断にはIsEmpty()を使います。
Nullかどうかの判断にはIsNull()を使います。 | ||||||||
|
投稿日時: 2008-09-19 12:50
D.Matsuさん。
ありがとうございます。 Nullかどうかの判断にはIsNull()を使います。 →これも試してみたんですが、だめでした。 セルが空かどうかの判断にはIsEmpty()を使います。 →こちらには気がつきませんでした。 こちらで判断してみます。 また、結果報告いたします。 こあらさん。 ありがとうございます。 えっと、ステップ実行しながら、ウォッチ式をみながらの テストを実行しております。 それでも、わからず投稿させていただいた次第です。 | ||||||||
|
投稿日時: 2008-09-19 13:23
セルが空かどうかの判断にはIsEmpty()を使います。
→使って実行してみましたが、だめでした。 ステップ実行しながら、変数にカーソルをあてると、 通常、枠の中に変数名とその値が表示されますが、 空の場合だけ、カーソルをあてても枠も出てこないんです。 ちなみに、リストボックスで数値を設定しているセルでカーソルをあてると 正常に枠が出て、値も表示されました。 こういう現象が起きております。 | ||||||||
|
投稿日時: 2008-09-19 13:51
IsEmpty を使ってみた時のコードを提示できますか? リスト作成したセルを A1 とした場合、 Len(Worksheets("シート名").Range("A1").Value) でどんな値が返ってきますか? ゼロなら空白(空文字=""=Empty値)だと思うのですが。 | ||||||||
|
投稿日時: 2008-09-19 13:58
おそらくウォッチ式を使えていないだけだと思いますが、あんまりひっぱるのもウザイので書いちゃいます。
| ||||||||
|
投稿日時: 2008-09-19 15:24
ひろれいさん。
Len(Worksheets("シート名").Range("A1").Value) でどんな値が返ってきますか? →空でしたのでEmptyのようです。 こあらさん。 コード記入をありがとうございます。 if Range("A1").Value = "" then を使ってみましたら、条件が通りました。 皆様、ありがとうございました!! |