excel.Range.Find返回错误的值C#

excel.Range.Find返回错误的值C#,c#,excel,interop,excel-interop,C#,Excel,Interop,Excel Interop,我想编写一个应用程序,用分号分隔的内容在文本文件上迭代,并在另一个Excel文件的特定列中搜索每个值 我能够在Excel中打开文本文件,并且它是以正确的方式打开的(我使应用程序可见,并检查其格式是否正确)。现在,如果我迭代文本表并使用Excel.Range.Find方法,它总是返回错误的行 Microsoft.Office.Interop.Excel.Range current_find = usedRange_2.Cells[3].Find((String)(row.Cells[7])

我想编写一个应用程序,用分号分隔的内容在文本文件上迭代,并在另一个Excel文件的特定列中搜索每个值

我能够在Excel中打开文本文件,并且它是以正确的方式打开的(我使应用程序可见,并检查其格式是否正确)。现在,如果我迭代文本表并使用
Excel.Range.Find
方法,它总是返回错误的行

    Microsoft.Office.Interop.Excel.Range current_find = usedRange_2.Cells[3].Find((String)(row.Cells[7]).Value2
Microsoft.Office.Interop.Excel.Range first_find = null

//for each row in tableOftextFile
if (first_find == null && current_find!=null)
    {
          first_find = current_find;
    }
do
    {
    if (((String)current_find.Cells[3].Value2).Contains((String)row.Cells[7].Value2))
        {
          //this part is never reached somehow.
          break;
        }
     else
    {
         current_find = usedRange_2.FindNext(current_find);
    }
   } while (current_find!=first_find && current_find!=null);
我的应用程序中的一切都很好,所以工作手册、工作表或任何东西都应该没有问题

“查找”操作必须找到某些内容,因为这些值存在,我可以在Excel应用程序中手动搜索它们并获得正确的结果,但例如,如果我搜索值“40”,结果返回到
current\u Find
current\u Find.Cells[3]。值2
为“42”或类似的值,但不是我期望的结果


如果有人能给我一个提示,甚至是一个解决方案,那将是伟大的。谢谢:)

对不起,我发现了我的错误,如果其他人也这样做,下面是答案:


我认为Excel.Find方法会返回匹配的行,但它似乎会返回匹配的单元格。因此,我将
current\u find.Cells[3].Value2
更正为
current\u find.Value2
,我可以走了。

对不起,我发现了我的错误,如果其他人也这样做,下面是答案:

我认为Excel.Find方法会返回匹配的行,但它似乎会返回匹配的单元格。因此,我将
current\u-find.Value2[3].Value2修改为
current\u-find.Value2
,我可以走了