[[20200616105353]] 『Findメソッドで値が見つからない』(daikun) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Findメソッドで値が見つからない』(daikun)

FindメソッドでB列にある指定の文字列を検索したいのですが、値が見つかりません。
検索対象は文字列、検索方法は完全一致にしています。
検索範囲はB列のB4から最終行です。
どなたかご伝授お願いします。

Dim LastRow As Long //最終行を取得
Dim Found As Range //Findメソッド用

LastRow= Worksheets("sheet1").Cells(Rows.count, 1).End(xlUp).Row

With Worksheets("sheet1")

Set Found = .Range("B4", .Cells(LastRow, "B")).Find(What:="あいうえお", LookIn:=xlValues, LookAt:=xlWhole)

End With

If Found Is Nothing Then

 MsgBox("見つかりませんでした。")

Else

 MsgBox("見つかりました。")

End If

< 使用 Excel:Excel2019、使用 OS:Windows10 >


変数LastRowはA列の最終行の値を示していますが、LastRowの値はいくつになっていますか?
(F8でステップ実行して確認してください)
(おせち) 2020/06/16(火) 11:04

回答ありがとうございます。
F8で実行したところ、値は95となっていました。
(daikun) 2020/06/16(火) 11:07

見つかりました と表示されましたよ

B4〜B95セルの間に "あいうえお" は本当にありますか?
(えく) 2020/06/16(火) 11:11


B4〜B95の範囲に"あいうえお"とありますが、私の方では見つかりませんでした。
B列は結合セルにしているので、認識できていないのでしょうか?
(daikun) 2020/06/16(火) 11:19

結合セルの場合は、結合セルの範囲にしないとダメだった気がします

例えばB列とC列を結合している場合は

Set Found = .Range("B4", .Cells(LastRow, "C")).Find(What:="あいうえお", LookIn:=xlValues, LookAt:=xlWhole)

とかにしないと見つからないとおもいます
(えく) 2020/06/16(火) 11:23


回答ありがとうございます。
Set Found = .Range("B4", .Cells(LastRow, "B").MergeArea).Find(What:="あいうえお", LookIn:=xlValues, LookAt:=xlWhole)

とすることで、発見出来ました。
(daikun) 2020/06/16(火) 11:37


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.