Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4337 / 13644 ツリー ←次へ | 前へ→

【57245】変数の中の文字を検索 初心者です 08/8/2(土) 18:30 質問[未読]
【57247】Re:変数の中の文字を検索 かみちゃん 08/8/2(土) 18:56 発言[未読]
【57251】Re:変数の中の文字を検索 初心者です 08/8/2(土) 20:00 お礼[未読]
【57252】Re:変数の中の文字を検索 kanabun 08/8/2(土) 20:03 発言[未読]
【57253】Re:変数の中の文字を検索 初心者です 08/8/2(土) 20:14 お礼[未読]

【57245】変数の中の文字を検索
質問  初心者です  - 08/8/2(土) 18:30 -

引用なし
パスワード
   よろしくお願いします

youbi="月水金"となってる変数から
youbiに"水"が有るのかを探したいのですが

If Application.WorksheetFunction.Find("水",youbi, 1) Then

で記述すると
ある時はいいのですが「youbi」の中に"水"がない時エラーで動きません
初歩的な事だと思いますが困ってます
よろしくお願いします

【57247】Re:変数の中の文字を検索
発言  かみちゃん  - 08/8/2(土) 18:56 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>youbi="月水金"となってる変数から
>youbiに"水"が有るのかを探したいのですが
>
>If Application.WorksheetFunction.Find("水",youbi, 1) Then
>
>で記述すると
>ある時はいいのですが「youbi」の中に"水"がない時エラーで動きません

以下のような感じにするといいかと思います。

Sub Sample1()
 Dim F As Long
 Dim youbi As String
 youbi = "月水金"
 
 F = 0
 On Error Resume Next
 F = Application.WorksheetFunction.Find("水", youbi, 1)
 On Error GoTo 0
 
 If F > 0 Then
  MsgBox "見つかりました"
 Else
  MsgBox "見つかりませんでした"
 End If
End Sub

なお、InStr関数を使うという方法もあります。

Sub Sample2()
 Dim F As Long
 Dim youbi As String
 youbi = "月水金"
 
 F = InStr(youbi, "水")
 If F > 0 Then
  MsgBox "見つかりました"
 Else
  MsgBox "見つかりませんでした"
 End If
End Sub

【57251】Re:変数の中の文字を検索
お礼  初心者です  - 08/8/2(土) 20:00 -

引用なし
パスワード
   ▼かみちゃん さん:

かみちゃん ありがとうございます
InStr関数みたいなのを探してました
すっごく簡略になりました
ありがとうございました

【57252】Re:変数の中の文字を検索
発言  kanabun  - 08/8/2(土) 20:03 -

引用なし
パスワード
   ▼初心者です さん:
横から失礼

>youbi="月水金"となってる変数から
>youbiに"水"が有るのかを探したいのですが

どうしてまた WorksheetfunctionのFIND なんぞを
思いつかれたのでしょうか(--)

VB(A)プログラムなら、すでにアドバイスがあるとおり、

  InStr("月水金", "水")  '---> 2 が返る

とか、

  "月水金" Like "*水*"   '---> True が返る

でしょう?

【57253】Re:変数の中の文字を検索
お礼  初心者です  - 08/8/2(土) 20:14 -

引用なし
パスワード
   ▼kanabun さん:
ありがとうございます
検索して探したのですが見つけれず
関数がFINDしか思いつかなくって

InStr関数を知らなくって…
Like関数もあるんですね
今回の場合はInStrよりLikeの方がいいかも知れません
True が戻り値になればいいので

参考になりましたまたよろしくお願いします

4337 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free