My Sheet.Find, for multiple result can be use recursively, setting ""after"" to last result
in: handle,workbookname,worksheetname,What(Text: search string),After(Text: cell address),xlWhole(Number: 1 - whole cell, 2 - partial match)
out: sheetexists (Flag), address(Text)
Dim ws as Object = GetWorksheet(handle,workbookname,worksheetname,False)
address = """"
sheetexists = ws IsNot Nothing
If sheetexists Then
Try
address = ws.UsedRange.Find(What,ws.Range(After),Type.Missing,xlWhole).Address()
Catch ex As Exception
address = ws.UsedRange.Find(What,ws.UsedRange.Cells(1),Type.Missing,xlWhole).Address()
End Try
End If