|
>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
多分、こんな事じゃないかと思います。
|
|