0
为什么我的行T(k) = Cells(k + 1, 4).Value - z
上会出现“下标超出范围”?VBA _Error 9下标超出范围
Public Sub find()
Dim i, j, k, h As Integer
Dim T() As Double
Dim z As Double
Range("E1").Activate
i = ActiveCell.Row
j = ActiveCell.Column
While Not IsEmpty(Cells(i, j - 2).Value)
z = Cells(i, j - 2).Value
k = 0
While Not IsEmpty(Cells(k + 1, 4).Value)
T(k) = Cells(k + 1, 4).Value - z
k = k + 1
Wend
For h = 0 To k
If T(h) = Application.WorksheetFunction.Min(Abs(T(k))) Then
Cells(i, j).Value = Cells(h + 1, 4).Value
End If
Next
i = i + 1
Wend
End Sub
[填充VBA动态数组]的可能的复制(https://stackoverflow.com/questions/8850984/populating-vba-dynamic-arrays) –
这个问题解决您的问题:https://开头stackoverflow.com/questions/8850984/populating-vba-dynamic-arrays/8851086#8851086确保阅读不仅仅是第一个答案! –