[英]VBA run code until the last row of a column range
我的代码成功算出我的最后一行代码所在的位置,但是到达设置数据范围时却给出了运行时错误1004,但是我希望代码一直运行到我的范围的最后一行。 有人知道如何修复我的代码吗?
Sub PopulatingArrayVariable()
Dim myArray() As Variant
Dim DataRange As Range
Dim cell As Range
Dim x As Long
Dim TotalTargets As Double
Dim lastrow As Long
lastrow = Cells(Rows.Count, "D").End(xlUp).Row
TotalTargets = WorksheetFunction.Max(Columns("D"))
Set DataRange = Sheets("Result").Range("D:I" & lastrow)
For Each cell In DataRange.Cells
ReDim Preserve myArray(x)
myArray(x) = cell.Value
x = x + 1
Next cell
End Sub
这里的错误类型:
Set DataRange = Sheets("Result").Range("D:I" & lastrow)
应该
Set DataRange = Sheets("Result").Range("D1:I" & lastrow)
或Dx,其中x是您的第一行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.