Excel VBA質問箱 IV

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

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


44697 / 76735 ←次へ | 前へ→

【37053】Re:検索処理
発言  Jaka  - 06/4/20(木) 11:35 -

引用なし
パスワード
   >Private Sub ken_Click()
>Dim adrs As Variant
>Dim addr As Variant
>Dim theadd As Variant
     ↓このadrってなんですか?合っているとして。
>adrs = adr.Value
>Worksheets("一覧").Select
>With Worksheets("一覧").Range("a1:c35000")
          Findメソッドの引数を省略すると前回使用時の設定が起用されるから
        ↓極端に省略するのは控えた方がいいです。
>Set addr = .Find(adrs)
>If Not addr Is Nothing Then
>theadd = addr.address
>Do
  ひらがな検索時の漢字の読み対策なら、ここに書くべき。
  if addr.Value = adrs Then
    >addr.Select
    >MsgBox "見つかりました"
  end if

>Set addr = .FindNext(addr)
         ↓見つかったセルの内容を変えているわけではないので不要。
          上のIf文で判定してするから、全く不要になる。
>Loop While addr.Value = adrs And addr.address <> theadd
 Loop While addr.address <> theadd
>Else
>MsgBox "該当なし"
>End If
>End With
>End Sub

>なぜでしょう?
findメソッドが前回の設定受け継ぐから、現在の状態がどんな状態なのか
解らないけど、
例えば
"しゅ"で検索すると

種類
しゅっきん


しゅ


など含むも、検索してしまいます。
結果、↓これで跳ねられるといった事にもなります。
addr.Value = adrs

多分、こんな事じゃないかと思います。

0 hits

【37030】検索処理 初心者です。 06/4/20(木) 0:52 質問
【37037】Re:検索処理 neptune 06/4/20(木) 7:55 回答
【37047】Re:検索処理 ハチ 06/4/20(木) 10:20 発言
【37049】Re:検索処理 neptune 06/4/20(木) 10:49 発言
【37054】Re:検索処理 ハチ 06/4/20(木) 11:39 発言
【37048】Re:検索処理 Statis 06/4/20(木) 10:44 回答
【37053】Re:検索処理 Jaka 06/4/20(木) 11:35 発言
【37085】みなさんありがとうございます! 初心者です。 06/4/20(木) 23:15 お礼

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