范围类的VBS FindNext方法失败

你好,只需一些快速帮助这个问题.Find method

它总是循环回到它find的第一个单元格,现在用.findnext第一个单元格地址 ),我得到一个错误,说明范围类的FindNext方法失败

任何帮助将不胜感激这里是我到目前为止:

 Set objXLApp = CreateObject("Excel.Application") Set EffR = objXLApp.Workbooks.Open("C:\Users\Daniel\Desktop\March Eff Report.xlsx") objXLApp.Application.Visible = True objXLApp.DisplayAlerts= False Set CPS = EffR.Sheets(3) Set MTDsum = EffR.Sheets(4) Set DIMA1 = EffR.Sheets(5) Set DIMA2 = EffR.Sheets(6) Set CP2 = EffR.Sheets(7) Set CP3 = EffR.Sheets(8) Set AO500 = EffR.Sheets(9) Set AO501 = EffR.Sheets(10) DIMA1.Activate findMe = "7001030025F" Set rSearch = DIMA1.Range("A1") Set rFound = rSearch.Find(findMe) adrFirst = rFound.Address 'wscript.echo ""&adrFirst&"" rSearch.FindNext(adrFirst) 

几点意见:

  • 你只是在search一个单元格,所以我认为你的代码应该在更长的范围内(它只能find一个匹配)。
  • 你需要迎合没有find匹配。
  • 更新下面的代码。

 Set rsearch = DIMA1.Range("A1") Set rfound = rsearch.Find(findMe) If Not rfound is nothing Then wscript.echo "found" adrFirst = rfound.Address Do Set rfound = rsearch.FindNext(rfound) Loop While rfound.Address <> adrFirst else wscript.echo "not found" End If