• 締切済み

VBAで検索対象では無いセルが検索される

下記のようなコードで特定の範囲内を検索しています。 X = 16 Y = 1 Do While Cells(Y, X).Value <> "" Set lFoundCell = Range("K8:K65536").CurrentRegion.Find(What:=Cells(Y, X), lookat:=xlWhole) Y = Y + 1 Loop Cells(X, Y)には文字列が格納されていてK8:K65536の範囲内に同じ値があった場合に lFoundCellに該当箇所をRange型の値で格納しています。 しかし、実際にこれを実行すると検索対象外のB列の値が格納されてしまいます。 たしかにB列にはCells(Y, X)と同じ値があるのですが 検索対象はK8:K65536に限定されているはずです。 これはなんでなんでしょうか? 何かコードにミスがあればお教えください。 よろしくお願いします。

みんなの回答

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

>Set lFoundCell = Range("K8:K65536").CurrentRegion.Find(What:=Cells(Y, X), lookat:=xlWhole) CurrentRegionが不要です。 そして確実に検索するためには、引数LookInもセットしましょう Set lFoundCell = Range("K8:K65536").Find(What:=Cells(Y, X), LookIn:=xlValues, lookat:=xlWhole)  

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

CurrentRegionプロパティを外せばどうなるでしょうか? アクティブセル領域を選択する-CurrentRegionプロパティ http://www.relief.jp/itnote/archives/001720.php

関連するQ&A