【VC#】Find でExcel の結合セルが検索できない!

VC# のプロジェクトに Excel 読み込ませてセル検索して設定&管理ってアプリ作らされてるんだけど、
Find 関数実行したときに、なぜか検索がどうしてもすっ飛ばされるセルがあったので調べてみた

Excel.Range rng = oWSheet.get_Range("A1", "E99");
Excel.Range rng2 = rng.Find("項目");

みたいな感じで検索してたんだけど、C40 にある位置の セルがひっからないのね・ω・
おかしいと思って、B2 辺りにコピーしてみたら検索可能。
なんだこれはと1時間くらいデバッグやトレースして調べたけど分からず。

ふと、何かの拍子に、Cセルが、結合されててJ辺りまで、伸びてることに気づいた

そうなのだ、「結合されたセルは、検索範囲から少しでもはみ出てると検索できない」!
てっきり値は、どんな結合のされ方をしていても、左上のセルに含まれてるものだと思ってたのだが、はみ出てるだけで、検索対象にならないのだ・ω・

なんてこった!

というわけで、つまらないことで半日つぶれてしまった。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です