VB6.0のSelect Case文について質問です。
現在、ある文字列(mojiretu)の中から特定の文字を検索して
その文字が文字列(mojiretu)の中に存在したらチェックボックスにチェックという一連の処理を行いたいのですがうまくいきません><
このSelect Case文のどこを直すべきでしょうか?
select case mojiretu
case instr(mojiretu,"abc")
chk1.value=1
case instr(mojiretu,"def")
chk2.value=1
case else
chk3.value=1
end select
No.1ベストアンサー
- 回答日時:
こんにちは。
単に、以下のようにすればできると思います。
select case True
case instr(mojiretu,"abc")
chk1.value=1
case instr(mojiretu,"def")
chk2.value=1
case else
chk3.value=1
end select
No.5
- 回答日時:
下記ではどうでしょうか。
dim a as long
dim b as long
a = instr(mojiretu,"abc")
b = instr(mojiretu,"def")
select case true
case a >= 1 and b < 1
chk1.value=1
case a < 0 and b > 1
chk2.value=1
case else
chk3.value=1
end select
No.4
- 回答日時:
Sinmple is Best!
mojiretsu、Check1の綴りは変更して下さい!
Private Sub Command1_Click()
Check1.Value = Abs(InStr(1, mojiretsu, "abc", vbTextCompare) > 0)
Check2.Value = Abs(InStr(1, mojiretsu, "def", vbTextCompare) > 0)
Check3.Value = Abs((Check1.Value + Check2.Value) = 0)
End Sub
No.3
- 回答日時:
select case文は、
select case <評価式>
case <条件1>
文1
case <条件2>
文2
case else
文e
end select
の時、<評価式>と<条件n>が一致した時、文nが実行されます。
また、一致するcaseが複数あった場合は、最初の物だけが実行されます。
さらに、一致するcaseが無かった場合は、case elseの文が実行されます。
ですので、InStr関数を用いて「指定の文字が含まれるか?」をcase文に書く時は、ちょっと工夫が要ります。
Select Case True
Case (InStr(mojiretu, "abc") <> 0) And (InStr(mojiretu, "def") <> 0)
chk1.Value = True
chk2.Value = True
Case InStr(mojiretu, "abc") <> 0
chk1.Value = True
Case InStr(mojiretu, "def") <> 0
chk2.Value = True
Case Else
chk3.Value = True
End Select
上記のように<評価式>にTrueを指定し、case句の後の<条件式>にTrueかFalseになる式を書きます。
因みに、上記のままでは、条件が成り立たない時にチェックが消えない(一旦チェックが付くと消えない)ので、成り立たない時にチェックを消すなら、以下のようにします。
chk1.Value = InStr(mojiretu, "abc") <> 0
chk2.Value = InStr(mojiretu, "def") <> 0
chk3.Value = (InStr(mojiretu, "abc") = 0) And (InStr(mojiretu, "def") = 0)
No.2
- 回答日時:
IF文を使いましょう。
if instr(mojiretu,"abc") > 0 then ~
select case mojiretu なら、mojiretu がある値を持たない分岐しません。
従って、case instr(mojiretu,"def") では無く、
case "def" としないと分岐の判断ができません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- Visual Basic(VBA) 【再投稿】VBAで動作しなくて困っています 2 2022/10/11 11:05
- Visual Basic(VBA) select caseの入れ子 3 2023/03/08 18:48
- Visual Basic(VBA) ワークシートチェンジで曜日を表示する方法 1 2023/03/04 21:51
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- Excel(エクセル) Excel コンボボックス バックカラー 1 2023/02/18 08:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECTボックスの内容を動的に...
-
HTMLの値の渡し方について質問...
-
ACCESSのレポートの表示...
-
アンケート個別表示について教...
-
遷移先のURLにパラメータを表示...
-
フォームから入力された改行コ...
-
C#のRichTextBoxで表示行数を取...
-
奇数・偶数の区別をプログラミング
-
スペースの取り方について
-
ASP.NETでTimerコントロールを...
-
C言語について。
-
aspxでIFみたいなことがしたい
-
javascriptで結果表示テキスト...
-
NotifyIconで二列の文字列を表...
-
ASPからEXCELに出力する
-
write downとfill outの違いを...
-
ASP.netで、CheckBoxListのSele...
-
テキストボックスを横並びで表示
-
テキストボックスにマクロでメ...
-
最大値と最小値の間を循環する変数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECTボックスの内容を動的に...
-
select case文について
-
リストボックスで未選択の項目...
-
リストボックスのselectedindex...
-
リストボックスから選んだ項目...
-
フォームで「年(西暦)」を今...
-
リストボックスを、右クリック...
-
リストボックスでフリー入力したい
-
JavaScriptで項目入力の制限分...
-
リストボックスの文字色を変更
-
HTMLの値の渡し方について質問...
-
ACCESSのレポートの表示...
-
aspxでIFみたいなことがしたい
-
遷移先のURLにパラメータを表示...
-
ASP.netで、CheckBoxListのSele...
-
phpの<br>\\nと\\nとエスケープ...
-
該当セルに行替えを含むデータ...
-
write downとfill outの違いを...
-
フォームのtextareaにnl2brを使...
-
テキストボックスにマクロでメ...
おすすめ情報