我有以下一块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
答案 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