今まで結合セルと設けたシートで検索を使ってきて問題がなかったのですが、お示しの例でやってみると確かにエラーになり、悩んでしまいました。
結論としては、結合セルの先頭セル以外のセルを起点に検索をかけようとすると、エラーになる様です。
当方の用いているワークシートでは先頭セルは結合してありませんので、問題なかったのですね。ご参考まで。
Sub test()
'a1:a2結合
Dim c As Range
'afterを指定しないと、expression(Cellsなので、A1セル)の左上セルを指定したことになる
Set c = Cells.Find(what:="a", lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test1 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A1"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test2 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A2"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test3 みつかりません"
End Sub
'結果
'Test1 みつかりません
'test2 みつかりません
Sub test2()
'a2:a3結合
Dim c As Range
Set c = Cells.Find(what:="a", lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test1 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A1"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test2 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A2"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test3 みつかりません"
End Sub
'結果
'Test3 みつかりません
A1とA2を結合して"A"と入力しても、"A"が入力されているのはA1のみでA2は空欄のままです。ただ、表示上結合されているだけです。
自宅PCにExcelがインストールされていないので確認してませんが
Sub test
Dim SRange As Range
Set SRange = Cells.Find(What:="a",LookAt:=xlWhole)
MsgBox SRange.Column
End Sub
で、出ませんか?
お礼
回答ありがとうございました。