0

所以我想做以下事情,

我有两张纸,“Sheet1”包含一个维护类型作为搜索词(sMaintenance1) ,“Sheet2”包含略有变化的相似术语。

我想使用 FuzzyFind在"Sheet2"的给定范围(rMaintenance2)中搜索维护类型(sMaintenance1) 。

必须选择此范围。在“Sheet2”的第 1 行中,我得到了包含不同年份的合并单元格,在第 6 行中,我得到了维护类型。每年都有每种维护类型,因此如下所示:

例子

我现在想在第 6 行从搜索年份的第一列到今年最后一列定义一个范围(rMaintenance2) 。

这是我到目前为止得到的:

Set rYear = Sheets(Sheet2).Range("1:1").Find(iYear, searchorder:=xlByColumns, lookat:=xlPart)

If rYear Is Nothing Then GoTo YearNV
    
iColumns = rYear.MergeArea.Count
    
        
Set rMaintenance2 = Sheets("Sheet2").Range(Cells(6, rYear.Column), Cells(6, rYear.Column + iColumns - 1))

sHit = FuzzyFind(sMaintenance1, rMaintenance2)

现在我收到此错误消息“应用程序定义或对象定义错误”,用于我对rMaintenance2的定义

我尝试了另一种方法:

With Worksheet("Sheet2")
Set rMaintenance2 = .Range(.Cells(6,rYear.Column), .Cells(6, rYear.Column+iColumn-1))
End With

但是,每当我使用Range.Find 函数时,我的代码中都会出现错误消息。

我只获得了 VBA 的基本知识,而且我才刚刚开始更深入地了解它(与工作相关),所以我很确定我对Object "Range"的理解有问题。

有人可以帮助我吗?

4

0 回答 0