View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Antonio Antonio is offline
external usenet poster
 
Posts: 134
Default VBA Find function does not work for merged cells. Potential BU

It does not work even specifying all parameters

The following code

Sub main()

Dim r As Range

Dim match_address As String


With Worksheets(1).Columns("A")



Set r = .Find("abc")

If Not r Is Nothing Then

match_address = r.Address



End If

End With

End Sub



does not find "abc" if "abc" in in column A in a merged cell, merged with
the next cell to the right


"Tom Ogilvy" wrote:

Sub Macro1()
Set rng = Selection.Find( _
What:=" - Open Positions ( August 03, 2007 )", _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
rng.Select
End Sub

worked fine for me when I had that string entered in cells that were merged.

The argument settings can make a difference. Best to specify what you want.

Note that the string you are searching for does lead of with a space
character, so make sure you have entered the string to match something you
have in the sheet. You might test it with something less involved to make
sure.

--
Regards,
Tom Ogilvy

"Antonio" wrote:

As per this thread

http://www.microsoft.com/office/comm...a-1ed27880f1b5



set r = .Find(" - Open Positions ( August 03, 2007 )")

returns nothing even though there is cell with that value

The only peculiarity of that cell is that is merged with others

Is the find function not supposed to work for merged cells?

Thanks,

Antonio


Code and sheet follows:

Sub main()

Dim r As Range

Dim match_address As String


Dim st As String


st = Worksheets(1).Range("A3").Value



With Worksheets(1).Columns("A")



Set r = .Find(st)

If Not r Is Nothing Then

match_address = r.Address



End If

End With

End Sub




----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/office/comm...el.programming