运行时错误'1004' - 对象'_全局'的方法“范围”失败

时间:2017-08-15 15:11:45

标签: vba find

我尝试使用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)有关。

导致此错误的原因是什么?如何避免?

0 个答案:

没有答案