我正在尝试查找某个范围内是否存在单元格。我复制了在VBA代码中找到的方法,并尝试将其转换为vbs。但它抛出:
无法获取Application类的Intersect属性
第(12)行:“设置Intersect = ExcelApp.Intersect(FirstRow,MergedRange)”。“”
我的代码如下:
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = True
Set MergedRange = ExcelApp.ActiveSheet.Range("A1")
Set FoundObj = ExcelApp.ActiveSheet.Columns("C").Find("purchase invoice")
Set FirstRow = ExcelApp.ActiveSheet.Range(Replace(FoundObj.Address,"C","A"))
Set Intersect = ExcelApp.Intersect(FirstRow,MergedRange)
我还使用了ExcelApp.Application.Intersect
,但也没有用。
让我知道代码有什么问题。
答案 0 :(得分:1)
首先,您的代码基本上没问题。
我强烈建议不要使用函数名称(Intersect(...)
)作为变量(Set Intersect = ...
)的名称。将所有相关行(Set ...
)复制到Excel VBA(2013),删除所有前面的ExcelApp.
您得到的编译错误正是这样。重命名变量Intersect to something else会在我的结尾产生完美的代码(VBA虽然......)。
如果你的变量重命名不能解决这个问题,那么进一步检查相交函数的所有参数是否真的是范围....更好地Dim ... As Range
它们可以解决以下问题: Find
不正确。