Excel 对象变量或未设置块-

Excel 对象变量或未设置块-,excel,vba,Excel,Vba,因此,我有一个工作表,我想在其中搜索范围(“a:a”)中的范围(“M”和“I”)值。但是,当我尝试运行此代码时,它返回一个错误:“运行时错误'91':对象变量或未设置块。当我单击“调试”时,它在 SearchIn = Range("A:A") 我用谷歌搜索了互联网和这个网站(发现了一些东西),但我仍然无法解决这个问题。有人知道线索吗 SearchIn = Range("A:A") Sub Find_Replace() Dim i As Integer Dim SearchIn As

因此,我有一个工作表,我想在其中搜索范围(“a:a”)中的范围(“M”和“I”)值。但是,当我尝试运行此代码时,它返回一个错误:“运行时错误'91':对象变量或未设置块。当我单击“调试”时,它在

 SearchIn = Range("A:A") 
我用谷歌搜索了互联网和这个网站(发现了一些东西),但我仍然无法解决这个问题。有人知道线索吗

 SearchIn = Range("A:A") 
Sub Find_Replace()

Dim i As Integer
Dim SearchIn As Range
Dim SearchedObject As Range
Dim FinalCell As Range
Dim SumCell As Range


i = 5
SearchIn = Range("A1:A740")
StartSearch = Range("A" & i)
FinalCell = Range("N" & i)

Do While i <= 740

SearchedObject = SearchIn.Find(What:="M" & i, After:=StartSearch, LookIn:=xlValues,          LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

If SearchedObject.Value = Range("M" & i).Value Then FinalCell = FinalCell.Value + SearchedObject.Offset(0, 5).Value

Loop


End Sub
Sub Find_Replace()
作为整数的Dim i
模糊搜索范围
将搜索对象设置为范围
模糊最终单元格范围
暗淡的SumCell As范围
i=5
搜索范围=范围(“A1:A740”)
StartSearch=范围(“A”和“i”)
最终单元格=范围(“N”和“i”)

我还没有测试过,但这就是你想要做的吗

 SearchIn = Range("A:A") 
分配范围时,必须使用
SET

 SearchIn = Range("A:A") 
Sub Find_Replace()
    Dim i As Integer
    Dim SearchIn As Range
    Dim SearchedObject As Range
    Dim FinalCell As Range
    Dim SumCell As Range

    i = 5

    Set SearchIn = Range("A1:A740")
    Set StartSearch = Range("A" & i)
    Set FinalCell = Range("N" & i)

    Do While i <= 740

        Set SearchedObject = SearchIn.Find(What:="M" & i, After:=StartSearch, _
        LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

        If Not SearchedObject Is Nothing Then
            If SearchedObject.Value = Range("M" & i).Value Then _
            FinalCell.Value = FinalCell.Value + SearchedObject.Offset(0, 5).Value
        End If
    Loop
End Sub
其他人也是如此。

在VBA-工作时需要了解的相关职位。
 SearchIn = Range("A:A")