Excel VBA .Find()错误

时间:2015-04-08 14:26:07

标签: excel vba excel-vba find

我有以下一块VBA代码,但是当我运行它时,我得到Infinite MsgBoxes,在ID的地址上方显示4行相同的地址。我必须使用Ctrl + Break停止执行。

我一直试图让代码工作,在我看来错误来自Find()方法。在我的代码的其他版本中,我得到“方法'查找'对象'范围'失败。有关如何解决这个问题的想法吗?谢谢。

Function CheckFinancials(ID As Integer) As Double
    Dim MyArray(1 To 4) As Integer
    Dim Guide As Range
    Set Guide = Worksheets("Financials").Range(Cells(1, 1),Cells(Worksheets("Financials").UsedRange.Rows.Count, 1))
    Set Guide = Guide.Find(ID)

    MsgBox Guide.Address

1 个答案:

答案 0 :(得分:0)

你的发现错过了很多参数(尝试记录它,你会看到),测试一下:

Function CheckFinancials(ID As Integer) As Double
    Dim MyArray(1 To 4) As Integer
    Dim Guide As Range
    Set Guide = Worksheets("Financials").Range(Cells(1, 1), Cells(Worksheets("Financials").UsedRange.Rows.Count, 1))
    Set Guide = Guide.Find(What:=ID, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)

    MsgBox Guide.Address