我尝试使用Range.Find
找出我的工作表中的位置:
Sub GrossMargin()
Dim AnalysisYear As Integer
AnalysisYear = 2015
Worksheets(ActiveSheet.Index + 1).Activate
Set GrossMarginLoc = Range("b1:b100").Find("Gross Margin", , , , , , False)
Set GrossMarginRow = Range(GrossMarginLoc, GrossMarginLoc.Offset(0, 20))
Set BsaYearTag = Range("b1:b20").Find("year", , , , , , False)
Set BsaYearRow = Range(BsaYearTag, BsaYearTag.Offset(0, 20))
Set BsaYear = Range(BsaYearRow).Find(AnalysisYear) '<-- here is the problem
Debug.Print BsaYearTag.Address
Debug.Print BsaYearRow.Address
Debug.Print GrossMarginRow.Address
Worksheets(ActiveSheet.Index - 1).Activate
End Sub
当我尝试运行上面的代码时,我得到Run-time Error '1004' - Method "Range' of Object' _ Global' failed
。问题似乎与行Set BsaYear = Range(BsaYearRow).Find(AnalysisYear)
有关。
导致此错误的原因是什么?如何避免?