VBA匹配variables范围
我有一个与.Match
函数的问题。 如果我在里面用引号和字母(“A:A”)来设置一个范围,那就很好了。 但是,当我尝试设置它与variables,它会给出1004错误。
这工作:
a = WorksheetFunction.Match(Range("A1"), Sheets("Data").Range("A:A"), 0)
这不起作用:
a = WorksheetFunction.Match(Range("A2"), Sheets("Data").Range(Cells(a, 4), Cells(a + 5, 4)), 0)
如何设置.Match
函数中的variables范围?
您必须使用完全限定(最多worksheet
对象) range
引用,否则它们默认为当前“活动”工作表
a = WorksheetFunction.Match(Range("A2"), Sheets("Data").Range(Sheets("Data").Cells(a, 4), Sheets("Data").Cells(a + 5, 4)), 0)
您可能会发现在这里使用Resize()会更容易:
a = WorksheetFunction.Match(Range("A2"), _ Sheets("Data").Cells(a, 4).Resize(6, 1), 0)