
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
VBAでCOPYを繰り返すと、処理が...
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
【マクロ】開いているブックの...
-
VBA ユーザーフォーム ボタンク...
-
Excelのマクロについて教えてく...
-
WindowsのOutlook を VBA から...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
ワードの図形にマクロを登録で...
-
Excelのマクロについて教えてく...
-
VBAの質問(Msgboxについて)です
-
えくせるのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
vbaにてseleniumを使用したedge...
-
Excel 範囲指定スクショについ...
-
ExcelのVBAコードについて教え...
-
【マクロ】並び替えの範囲が、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECTボックスの内容を動的に...
-
リストボックスのselectedindex...
-
リストボックスで未選択の項目...
-
リストボックスの文字色を変更
-
MySQLから列を取得し、リストボ...
-
リストボックスから選んだ項目...
-
HTMLの値の渡し方について質問...
-
ACCESSのレポートの表示...
-
aspxでIFみたいなことがしたい
-
ASP.netで、CheckBoxListのSele...
-
遷移先のURLにパラメータを表示...
-
【Python初学者】以下コードに...
-
クリックしたボタンのIDの取得
-
フォームのtextareaにnl2brを使...
-
改行したいのですが
-
write downとfill outの違いを...
-
C#のRichTextBoxで表示行数を取...
-
キリンビール(晴れ風)どうでし...
-
テキストボックスにマクロでメ...
-
ASPからEXCELに出力する
おすすめ情報