こんばんは!よろしくお願いします。
新規に作成したフォームにコンボボックスを設置して
Sub test1()
If Form_フォーム1.コンボ0.Value = Null Then
Form_フォーム1.コンボ0.Value = ""
End If
MsgBox Form_フォーム1.コンボ0.Value
End Sub
Sub test2()
If IsNull(Form_フォーム1.コンボ0.Value) = True Then
Form_フォーム1.コンボ0.Value = ""
End If
MsgBox Form_フォーム1.コンボ0.Value
End Sub
上記2つのサンプルを実行した時に、
test1のほうだけ
実行時エラー94
Nullの使い方が不正です。
となります。
ウォッチウインドウで見ていくと、
「オブジェクト変数、またはwithブロック変数が設定されていません。」
となりますが
「If Form_フォーム1.コンボ0.Value = Null Then」
を通過したら
Nullになります。
何が起こっているのでしょうか?
No.1ベストアンサー
- 回答日時:
Nullはちょっと特殊な値で、「=」で比較を行うと、数値や文字列とは
異なる結果になります。
つまり、下記のように、Nullを「=」演算子で比較すると、変数の値が
何であっても、評価結果は「Null」になる、という性質を持っています。
(イミディエイト ウィンドウ(Ctrl+Gキーで表示可能)で、コンボボックス
に適当な値を入れて「?IsNull(Form_フォーム1.コンボ0.Value=Null)」
を表示させると、結果を実際に確認できます)
1)変数「a」が「1」(数値)の場合の「If a = 1」:
True(-1)
2)変数「a」が「Test」(文字列)の場合の「If a = "Test"」:
True(-1)
3)変数「a」が「Null」の場合の「If a = Null」:
Null
4)変数「a」が「1」の場合の「If a = Null」:
Null
5)変数「a」が「Test」の場合の「If a = Null」:
Null
※イメージとしては「0には何を掛けても0(3*0=0)」に近いかも?
このため、test1ではIf文の条件が不成立の扱いとなるため、コンボ0への
代入は行われないことになります。
で、MsgBox関数では、第1引数は「文字列式」である必要がありますので、
If文が不成立でコンボ0への「""」の代入が行われていないtest1では
第1引数がNullのままのため、実行時エラーが発生した、ということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボとセットの違い
-
Access 複数条件検索の設定が上...
-
ACCESSコンポボックス
-
「ぱーりない」「パーリナイ」...
-
転生アニメの食事問題。 日本人...
-
ラテン語で「闇」を意味する単...
-
梶井基次郎の「闇の絵巻」という...
-
「闇すぎる」の意味わかる方い...
-
小学校の勤務状況は日本最大の...
-
ヒロアカのオールマイトは何で...
-
タイムリープ経験者いますか。...
-
家系が途絶える事は悪い事か
-
闇バイトの応募はおとり捜査で...
-
金目当ての女しか寄ってこない...
-
入り口と出口の間には、何があ...
-
死後は転生できることの証明(2)
-
せっかく誘ってくれたけど........
-
「闇」から連想するもの・・・
-
劇で使うので 中二病でいい感じ...
-
お見合いパーティー・一人は不利?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access コンボボックスの値を...
-
Access 複数条件検索の設定が上...
-
コンボとセットの違い
-
アクセスのコンボボックスの重...
-
Access パラメータークエリ VBA...
-
コンボボックスの値が変更され...
-
サブフォームにあるコンボボッ...
-
access vba コンボボックス 読...
-
ACCESSコンポボックス
-
「コンボ」の意味教えてください
-
↓Twitterで流行ってるこれって...
-
ラテン語で「闇」を意味する単...
-
「ぱーりない」「パーリナイ」...
-
人生が開けない夜みたいなんですが
-
闇バイトの応募はおとり捜査で...
-
海老と猿… どちらが闇深いですか?
-
タイムリープ経験者いますか。...
-
家系が途絶える事は悪い事か
-
推しの子という話題のアニメを...
-
半分寝ている状態のとき、不思...
おすすめ情報