VBA相交返回运行时错误91:对象变量或未设置阻止

时间:2017-08-04 14:13:21

标签: excel vba runtime-error

我正在编写代码来检查范围是否与另一个范围相交,然后执行某些操作,这是我当前的构建:

Dim lastRow As Long
Dim dataRange As Range
lastRow = Worksheets("EvoDbase").UsedRange.Rows.Count

Dim curName As String 'name of current record
Dim curPos As Range
Dim searchRow As Long
Dim finPos As Range
Dim resultsPos As Range
Dim resultsRow As Long 'store row to paste results to

Set dataRange = Range(Cells(1, 1), Cells(lastRow, 7))

dataRange.Sort key1:=ActiveSheet.Columns(2), order1:=xlAscending, key2:=ActiveSheet.Columns(6), order2:=xlDescending, Header:=xlYes

dataRange.AutoFilter

'find a name, copy the first record against that name to sheet "results", move to next name repeat, move results to active sheet when finished.

searchRow = 2
Set curPos = Worksheets("EvoDbase").Range(Cells(searchRow, 1), Cells(searchRow, 7)) ' set starting position

resultsRow = 2
'resultsPos = Range(Sheets("Results").Range(Cells(resultsRow, 1)), Sheets("Results").Range(Cells(resultsRow, 7)))

Set resultsPos = Range(Worksheets("Results").Cells(resultsRow, 1), Worksheets("Results").Cells(resultsRow, 7))

Set finPos = Range(Worksheets("EvoDbase").Cells(lastRow, 1), Worksheets("EvoDbase").Cells(lastRow, 1))

Do While Intersect(curPos, finPos)

当我运行它时,它会抛出运行时错误91:对象变量或未设置阻止。

我尝试了以下内容(如MSDN上所述):

Do While Intersect(Range("curPos"), Range("finPos")

这给了我错误1004:对象'_Global'的方法'范围'失败

在查看堆栈溢出和其他资源后我感到很茫然,任何帮助都将不胜感激!

0 个答案:

没有答案